Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
move one method higher in As hierarchy
[simgrid.git] / src / surf / network_interface.hpp
index e199d1d..ca9f7e1 100644 (file)
@@ -155,7 +155,7 @@ public:
    * @return The new bandwidth.
    */
   virtual double bandwidthConstraint(double rate, double bound, double size);
-  double shareResourcesFull(double now);
+  double next_occuring_event_full(double now) override;
 };
 
 /************
@@ -218,13 +218,13 @@ public:
   virtual double getBandwidth();
 
   /** @brief Update the bandwidth in bytes per second of current Link */
-  virtual void updateBandwidth(double value, double date=surf_get_clock())=0;
+  virtual void updateBandwidth(double value)=0;
 
   /** @brief Get the latency in seconds of current Link */
   virtual double getLatency();
 
   /** @brief Update the latency in seconds of current Link */
-  virtual void updateLatency(double value, double date=surf_get_clock())=0;
+  virtual void updateLatency(double value)=0;
 
   /** @brief The sharing policy is a @{link e_surf_link_sharing_policy_t::EType} (0: FATPIPE, 1: SHARED, 2: FULLDUPLEX) */
   virtual int sharingPolicy();
@@ -235,6 +235,10 @@ public:
   void turnOn() override;
   void turnOff() override;
 
+  virtual void set_state_trace(tmgr_trace_t trace); /*< setup the trace file with states events (ON or OFF). Trace must contain boolean values. */
+  virtual void set_bandwidth_trace(tmgr_trace_t trace); /*< setup the trace file with bandwidth events (peak speed changes due to external load). Trace must contain percentages (value between 0 and 1). */
+  virtual void set_latency_trace(tmgr_trace_t trace); /*< setup the trace file with latency events (peak latency changes due to external load). Trace must contain absolute values */
+
   tmgr_trace_iterator_t m_stateEvent = NULL;
   s_surf_metric_t m_latency = {1.0,0,NULL};
   s_surf_metric_t m_bandwidth = {1.0,0,NULL};