SimGrid
3.16
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... | |
![]() | |
Resource (Model *model, const char *name, lmm_constraint_t constraint) | |
Constructor of LMM Resources. More... | |
virtual | ~Resource () |
Model * | model () const |
Get the Model of the current Resource. More... | |
const char * | cname () 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 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... | |
![]() | |
PropertyHolder () | |
~PropertyHolder () | |
const char * | getProperty (const char *id) |
Return the property associated to the provided key (or nullptr if not existing) More... | |
void | setProperty (const char *id, const char *value) |
Change the value of a given key in the property set. More... | |
xbt_dict_t | 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 char *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 (const char *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 | linksExit () |
destructor of the static data More... | |
Additional Inherited Members | |
![]() | |
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} |