* @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;
};
/************
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();
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};