X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ec4e2d87d99b8ad76c9096033eb858e9052b09fa..7bac600c529ba83f8f246a2dcfa9ddd9c0095675:/src/surf/network_interface.hpp diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index 4cb6b8066a..ca9f7e10c0 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -36,11 +36,11 @@ class NetworkAction; /** @brief Callback signal fired when the state of a NetworkAction changes * Signature: `void(NetworkAction *action, e_surf_action_state_t old, e_surf_action_state_t current)` */ -XBT_PUBLIC_DATA(simgrid::surf::signal) networkActionStateChangedCallbacks; +XBT_PUBLIC_DATA(simgrid::xbt::signal) networkActionStateChangedCallbacks; /** @brief Callback signal fired when a NetworkAction is created (when a communication starts) * Signature: `void(NetworkAction *action, RoutingEdge *src, RoutingEdge *dst, double size, double rate)` */ -XBT_PUBLIC_DATA(simgrid::surf::signal) networkCommunicateCallbacks; +XBT_PUBLIC_DATA(simgrid::xbt::signal) networkCommunicateCallbacks; } } @@ -50,8 +50,6 @@ XBT_PUBLIC_DATA(simgrid::surf::signal onCreation; + static simgrid::xbt::signal onCreation; /** @brief Callback signal fired when a Link is destroyed. * Signature: void(Link*) */ - static simgrid::surf::signal onDestruction; + static simgrid::xbt::signal onDestruction; - /** @brief Callback signal fired when the state of a Link changes - * Signature: `void(LinkAction *action, e_surf_resource_state_t oldState, e_surf_resource_state_t currentState)` */ - static simgrid::surf::signal onStateChange; + /** @brief Callback signal fired when the state of a Link changes (when it is turned on or off) + * Signature: `void(Link*)` */ + static simgrid::xbt::signal onStateChange; /** @brief Get the bandwidth in bytes per second of current Link */ 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} (0: FATPIPE, 1: SHARED, 2: FULLDUPLEX) */ + /** @brief The sharing policy is a @{link e_surf_link_sharing_policy_t::EType} (0: FATPIPE, 1: SHARED, 2: FULLDUPLEX) */ virtual int sharingPolicy(); /** @brief Check if the Link is used */ - bool isUsed(); + bool isUsed() override; - void setState(e_surf_resource_state_t state); + void turnOn() override; + void turnOff() override; - /* Using this object with the public part of - model does not make sense */ - double m_latCurrent = 0; - tmgr_trace_event_t p_latEvent = NULL; + 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 */ - /* LMM */ - tmgr_trace_event_t p_stateEvent = NULL; - s_surf_metric_t p_speed; + 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}; /* User data */ public: @@ -259,7 +255,7 @@ private: static boost::unordered_map *links; public: static Link *byName(const char* name); - static int linksAmount(); + static int linksCount(); static Link **linksList(); static void linksExit(); };