SimGrid
3.14.159
Versatile Simulation of Distributed Systems
|
#include <network_interface.hpp>
Public Member Functions | |
Link (simgrid::surf::NetworkModel *model, const char *name, lmm_constraint_t constraint) | |
Constructor of LMM links. More... | |
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 * | getModel () const |
Get the Model of the current Resource. More... | |
const char * | getName () const |
Get the name of the current Resource. More... | |
bool | operator== (const Resource &other) const |
virtual void | apply_event (tmgr_trace_iterator_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 | getConstraint () 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... | |
Static Public Attributes | |
static simgrid::xbt::signal< void(surf::Link *)> | onCreation |
Callback signal fired when a new Link is created. More... | |
static simgrid::xbt::signal< void(surf::Link *)> | onDestruction |
Callback signal fired when a Link is destroyed. More... | |
static simgrid::xbt::signal< void(surf::Link *)> | onStateChange |
Callback signal fired when the state of a Link changes (when it is turned on or off) Signature: void(Link*) More... | |
static simgrid::xbt::signal< void(surf::NetworkAction *, s4u::Host *src, s4u::Host *dst)> | onCommunicate |
Callback signal fired when a communication starts Signature: void(NetworkAction *action, host *src, host *dst) More... | |
Protected Member Functions | |
~Link () override | |
use destroy() instead of this destructor More... | |
tmgr_trace_iterator_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 Link * | byName (const char *name) |
static int | linksCount () |
Returns the amount of links in the platform. More... | |
static Link ** | 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 |
simgrid::surf::Link::Link | ( | simgrid::surf::NetworkModel * | model, |
const char * | name, | ||
lmm_constraint_t | constraint | ||
) |
Constructor of LMM links.
|
overrideprotected |
use destroy() instead of this destructor
void simgrid::surf::Link::destroy | ( | ) |
|
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
|
static |
Callback signal fired when a new Link is created.
Signature: void(Link*)
|
static |
Callback signal fired when a Link is destroyed.
Signature: void(Link*)
|
static |
Callback signal fired when the state of a Link changes (when it is turned on or off) Signature: void(Link*)
|
static |
Callback signal fired when a communication starts Signature: void(NetworkAction *action, host *src, host *dst)
tmgr_trace_iterator_t simgrid::surf::Link::stateEvent_ = nullptr |
s_surf_metric_t simgrid::surf::Link::latency_ = {1.0, 0, nullptr} |
s_surf_metric_t simgrid::surf::Link::bandwidth_ = {1.0, 0, nullptr} |