X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/640e6f6494f5e1151f6436aea0e0c515da2c144b..ef5434702c0dc0de7c2de2e6939349b7a8318494:/include/simgrid/s4u/Link.hpp diff --git a/include/simgrid/s4u/Link.hpp b/include/simgrid/s4u/Link.hpp index be6dfb2449..3ef6ceef78 100644 --- a/include/simgrid/s4u/Link.hpp +++ b/include/simgrid/s4u/Link.hpp @@ -6,6 +6,7 @@ #ifndef S4U_LINK_HPP_ #define S4U_LINK_HPP_ +#include #include #include #include @@ -31,9 +32,9 @@ class XBT_PUBLIC Link : public xbt::Extendable { kernel::resource::LinkImpl* const pimpl_; public: - enum class SharingPolicy { SPLITDUPLEX = 2, SHARED = 1, FATPIPE = 0 }; + enum class SharingPolicy { WIFI = 3, SPLITDUPLEX = 2, SHARED = 1, FATPIPE = 0 }; - kernel::resource::LinkImpl* get_impl() { return pimpl_; } + kernel::resource::LinkImpl* get_impl() const { return pimpl_; } /** @brief Retrieve a link from its name */ static Link* by_name(const std::string& name); @@ -45,10 +46,10 @@ public: const char* get_cname() const; /** @brief Get the bandwidth in bytes per second of current Link */ - double get_bandwidth(); + double get_bandwidth() const; /** @brief Get the latency in seconds of current Link */ - double get_latency(); + double get_latency() const; /** @brief Describes how the link is shared between flows */ SharingPolicy get_sharing_policy(); @@ -93,7 +94,7 @@ public: * The profile must contain absolute values */ void set_latency_profile(kernel::profile::Profile* profile); - const char* get_property(const std::string& key); + const char* get_property(const std::string& key) const; void set_property(const std::string& key, const std::string& value); /* The signals */ @@ -101,78 +102,20 @@ public: static xbt::signal on_creation; /** @brief Callback signal fired when a Link is destroyed */ - static xbt::signal on_destruction; + static xbt::signal on_destruction; /** @brief Callback signal fired when the state of a Link changes (when it is turned on or off) */ - static xbt::signal on_state_change; + static xbt::signal on_state_change; /** @brief Callback signal fired when the bandwidth of a Link changes */ - static xbt::signal on_bandwidth_change; + static xbt::signal on_bandwidth_change; /** @brief Callback signal fired when a communication starts */ - static xbt::signal on_communicate; + static xbt::signal on_communicate; /** @brief Callback signal fired when a communication changes it state (ready/done/cancel) */ - static xbt::signal + static xbt::signal on_communication_state_change; - -#ifndef DOXYGEN - // Deprecated methods - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::by_name()") static Link* byName(const char* name) { return by_name(name); } - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_name()") const std::string& getName() const { return get_name(); } - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_cname()") const char* getCname() const { return get_cname(); } - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_sharing_policy()") SharingPolicy sharingPolicy() {return get_sharing_policy();} - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_usage()") double getUsage() {return get_usage();} - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::is_used()") bool isUsed() {return is_used();} - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_bandwidth()") double bandwidth() {return get_bandwidth();} - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_latency()") double latency() {return get_latency();} - - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::turn_on()") void turnOn() {turn_on();} - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::turn_off()") void turnOff() {turn_off();} - - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_property()") const char* getProperty(const char* key) {return get_property(key);} - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::set_property()") void setProperty(const std::string& key, - const std::string& value) - { - set_property(key, value); - } - - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_data()") void* getData() {return get_data();} - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::set_data()") void setData(void* d) {set_data(d);} - - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_state_profile()") void setStateTrace( - kernel::profile::Profile* profile) - { - set_state_profile(profile); - } - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_bandwidth_profile()") void setBandwidthTrace( - kernel::profile::Profile* profile) - { - set_bandwidth_profile(profile); - } - /** @deprecated */ - XBT_ATTRIB_DEPRECATED_v323("Please use Link::get_latency_profile()") void setLatencyTrace( - kernel::profile::Profile* profile) - { - set_latency_profile(profile); - } -#endif }; } // namespace s4u } // namespace simgrid