|
SimGrid
3.18
Versatile Simulation of Distributed Systems
|
SURF network link interface class.
A Link represents the link between two hosts
#include <network_interface.hpp>
Public Member Functions | |
| void | destroy () |
| Fire the required callbacks and destroy the object. More... | |
| virtual double | bandwidth () |
| Get the bandwidth in bytes per second of current Link. More... | |
| virtual void | setBandwidth (double value)=0 |
| Update the bandwidth in bytes per second of current Link. More... | |
| virtual double | latency () |
| Get the latency in seconds of current Link. More... | |
| virtual void | setLatency (double value)=0 |
| Update the latency in seconds of current Link. More... | |
Public Member Functions inherited from simgrid::surf::Resource | |
| Resource (Model *model, const std::string &name, lmm_constraint_t constraint) | |
| Constructor of LMM Resources. More... | |
| virtual | ~Resource () |
| Model * | model () const |
| Get the Model of the current Resource. More... | |
| const std::string & | getName () const |
| Get the name of the current Resource. More... | |
| const char * | getCname () const |
| Get the name of the current Resource. More... | |
| bool | operator== (const Resource &other) const |
| virtual void | apply_event (tmgr_trace_event_t event, double value)=0 |
| Apply an event of external load event to that resource. More... | |
| virtual double | getLoad () |
| returns the current load (in flops per second, byte per second or similar) More... | |
| virtual bool | isOn () const |
| Check if the current Resource is active. More... | |
| virtual bool | isOff () const |
| Check if the current Resource is shut down. More... | |
| lmm_constraint_t | constraint () const |
| Get the lmm constraint associated to this Resource if it is part of a LMM component (or null if none) More... | |
Public Member Functions inherited from simgrid::surf::PropertyHolder | |
| PropertyHolder ()=default | |
| ~PropertyHolder () | |
| const char * | getProperty (std::string key) |
| Return the property associated to the provided key (or nullptr if not existing) More... | |
| void | setProperty (std::string id, std::string value) |
| Change the value of a given key in the property set. More... | |
| std::map< std::string, std::string > * | getProperties () |
| Return the whole set of properties. More... | |
Public Attributes | |
| s4u::Link | piface_ |
| Public interface. More... | |
Protected Member Functions | |
| LinkImpl (simgrid::surf::NetworkModel *model, const std::string &name, lmm_constraint_t constraint) | |
| ~LinkImpl () override | |
| use destroy() instead of this destructor More... | |
| tmgr_trace_event_t | stateEvent_ = nullptr |
| s_surf_metric_t | latency_ = {1.0, 0, nullptr} |
| s_surf_metric_t | bandwidth_ = {1.0, 0, nullptr} |
| virtual int | sharingPolicy () |
| The sharing policy is alink e_surf_link_sharing_policy_t::EType} (0: FATPIPE, 1: SHARED, 2: FULLDUPLEX) More... | |
| bool | isUsed () override |
| Check if the Link is used. More... | |
| void | turnOn () override |
| Turn on the current Resource. More... | |
| void | turnOff () override |
| Turn off the current Resource. More... | |
| virtual void | setStateTrace (tmgr_trace_t trace) |
| virtual void | setBandwidthTrace (tmgr_trace_t trace) |
| virtual void | setLatencyTrace (tmgr_trace_t trace) |
| void * | getData () |
| void | setData (void *d) |
| static LinkImpl * | byName (std::string name) |
| static int | linksCount () |
| Returns the amount of links in the platform. More... | |
| static LinkImpl ** | linksList () |
| Returns a list of all existing links. More... | |
| static void | linksList (std::vector< s4u::Link *> *linkList) |
| static void | linksExit () |
| destructor of the static data More... | |
Additional Inherited Members | |
Protected Attributes inherited from simgrid::surf::Resource | |
| const lmm_constraint_t | constraint_ = nullptr |
|
protected |
|
overrideprotected |
use destroy() instead of this destructor
| void simgrid::surf::LinkImpl::destroy | ( | ) |
Fire the required callbacks and destroy the object.
Don't delete directly a Link, call l->destroy() instead.
|
virtual |
Get the bandwidth in bytes per second of current Link.
|
pure virtual |
Update the bandwidth in bytes per second of current Link.
Implemented in simgrid::surf::LinkL07, simgrid::surf::NetworkCm02Link, and simgrid::surf::LinkNS3.
|
virtual |
Get the latency in seconds of current Link.
|
pure virtual |
Update the latency in seconds of current Link.
Implemented in simgrid::surf::LinkL07, simgrid::surf::NetworkCm02Link, and simgrid::surf::LinkNS3.
|
virtual |
The sharing policy is alink e_surf_link_sharing_policy_t::EType} (0: FATPIPE, 1: SHARED, 2: FULLDUPLEX)
|
overridevirtual |
Check if the Link is used.
Implements simgrid::surf::Resource.
Reimplemented in simgrid::surf::LinkL07.
|
overridevirtual |
Turn on the current Resource.
Reimplemented from simgrid::surf::Resource.
|
overridevirtual |
Turn off the current Resource.
Reimplemented from simgrid::surf::Resource.
|
virtual |
|
virtual |
Reimplemented in simgrid::surf::LinkNS3.
|
virtual |
Reimplemented in simgrid::surf::LinkNS3.
|
inline |
|
static |
|
static |
Returns the amount of links in the platform.
|
static |
Returns a list of all existing links.
|
static |
destructor of the static data
| s4u::Link simgrid::surf::LinkImpl::piface_ |
Public interface.
| tmgr_trace_event_t simgrid::surf::LinkImpl::stateEvent_ = nullptr |
| s_surf_metric_t simgrid::surf::LinkImpl::latency_ = {1.0, 0, nullptr} |
| s_surf_metric_t simgrid::surf::LinkImpl::bandwidth_ = {1.0, 0, nullptr} |