X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1747902010b7fc57b15c2e88473c5bb118d362d1..b291a429a3c31317cb0b2144cbf626f27f870ad8:/src/surf/network_interface.hpp diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index ea4880a356..256ff5d0fd 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -41,14 +41,14 @@ public: ~NetworkModel() override; /** - * @brief Create a Link + * @brief Create a [WiFi]Link * * @param name The name of the Link - * @param bandwidth The initial bandwidth of the Link in bytes per second - * @param policy The sharing policy of the Link + * @param bandwidths The vector of bandwidths of the Link in bytes per second */ - virtual LinkImpl* create_link(const std::string& name, const std::vector& bandwidths, - s4u::Link::SharingPolicy policy) = 0; + virtual LinkImpl* create_link(const std::string& name, const std::vector& bandwidths) = 0; + + virtual LinkImpl* create_wifi_link(const std::string& name, const std::vector& bandwidths) = 0; /** * @brief Create a communication between two hosts. @@ -118,7 +118,7 @@ protected: public: void destroy(); // Must be called instead of the destructor - void latency_check(double latency); + void latency_check(double latency) const; /** @brief Public interface */ const s4u::Link* get_iface() const { return &piface_; } @@ -137,6 +137,7 @@ public: virtual LinkImpl* set_latency(double value) = 0; /** @brief The sharing policy */ + virtual LinkImpl* set_sharing_policy(s4u::Link::SharingPolicy policy); virtual s4u::Link::SharingPolicy get_sharing_policy() const; /** @brief Check if the Link is used */ @@ -149,14 +150,12 @@ public: void on_bandwidth_change() const; - virtual void - set_bandwidth_profile(kernel::profile::Profile* profile); /*< setup the profile file with bandwidth events - (peak speed changes due to external load). Trace must - contain percentages (value between 0 and 1). */ - virtual void - set_latency_profile(kernel::profile::Profile* profile); /*< setup the trace file with latency events (peak - latency changes due to external load). Trace must contain - absolute values */ + /* setup the profile file with bandwidth events (peak speed changes due to external load). + * Profile must contain percentages (value between 0 and 1). */ + virtual LinkImpl* set_bandwidth_profile(kernel::profile::Profile* profile); + /* setup the profile file with latency events (peak latency changes due to external load). + * Profile must contain absolute values */ + virtual LinkImpl* set_latency_profile(kernel::profile::Profile* profile); Metric latency_ = {0.0, 0, nullptr}; Metric bandwidth_ = {1.0, 0, nullptr};