X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0fa053f89a0b5f34a050f4790925d9d63ac11073..1bf033cc925aa31693ef5163ea056fde5b75ff1e:/src/surf/network_interface.hpp diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index 82981510c3..f8b0e65a0d 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -48,7 +48,7 @@ public: * @param policy The sharing policy of the Link */ virtual LinkImpl* createLink(const std::string& name, double bandwidth, double latency, - e_surf_link_sharing_policy_t policy) = 0; + s4u::Link::SharingPolicy policy) = 0; /** * @brief Create a communication between two hosts. @@ -125,20 +125,19 @@ public: s4u::Link piface_; /** @brief Get the bandwidth in bytes per second of current Link */ - virtual double bandwidth(); + virtual double get_bandwidth(); /** @brief Update the bandwidth in bytes per second of current Link */ - virtual void setBandwidth(double value) = 0; + virtual void set_bandwidth(double value) = 0; /** @brief Get the latency in seconds of current Link */ - virtual double latency(); + virtual double get_latency(); /** @brief Update the latency in seconds of current Link */ - virtual void setLatency(double value) = 0; + virtual void set_latency(double value) = 0; - /** @brief The sharing policy is a @{link e_surf_link_sharing_policy_t::EType} (0: FATPIPE, 1: SHARED, 2: - * SPLITDUPLEX) */ - virtual int sharingPolicy(); + /** @brief The sharing policy */ + virtual s4u::Link::SharingPolicy get_sharing_policy(); /** @brief Check if the Link is used */ bool is_used() override; @@ -146,34 +145,23 @@ public: void turn_on() override; void turn_off() override; - virtual void setStateTrace(tmgr_trace_t trace); /*< setup the trace file with states events (ON or OFF). - Trace must contain boolean values. */ - virtual void setBandwidthTrace( + void on_bandwidth_change(); + + 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 setLatencyTrace( + 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_event_t stateEvent_ = nullptr; Metric latency_ = {1.0, 0, nullptr}; Metric bandwidth_ = {1.0, 0, nullptr}; /* User data */ - void* getData() { return userData; } - void setData(void* d) { userData = d; } + void* get_data() { return userdata_; } + void set_data(void* d) { userdata_ = d; } private: - void* userData = nullptr; - - /* List of all links. FIXME: should move to the Engine */ - static std::unordered_map* links; - -public: - static LinkImpl* byName(std::string name); - static int linksCount(); - static LinkImpl** linksList(); - static void linksList(std::vector* linkList); - static void linksExit(); + void* userdata_ = nullptr; }; /********** @@ -181,7 +169,7 @@ public: **********/ /** @ingroup SURF_network_interface * @brief SURF network action interface class - * @details A NetworkAction represents a communication between two [hosts](\ref HostImpl) + * @details A NetworkAction represents a communication between two [hosts](\ref simgrid::surf::HostImpl) */ class NetworkAction : public Action { public: