SimGrid  3.18
Versatile Simulation of Distributed Systems
simgrid::surf::NetworkAction Class Reference

Detailed Description

SURF network action interface class.

A NetworkAction represents a communication between two hosts

#include <network_interface.hpp>

Inheritance diagram for simgrid::surf::NetworkAction:
simgrid::surf::Action simgrid::surf::NetworkCm02Action simgrid::surf::NetworkConstantAction simgrid::surf::NetworkNS3Action

Public Member Functions

 NetworkAction (simgrid::surf::Model *model, double cost, bool failed)
 Constructor. More...
 
 NetworkAction (simgrid::surf::Model *model, double cost, bool failed, lmm_variable_t var)
 NetworkAction constructor. More...
 
void setState (simgrid::surf::Action::State state) override
 Set the state of the current Action. More...
 
virtual std::list< LinkImpl * > links ()
 returns a list of all Links that this action is using More...
 
- Public Member Functions inherited from simgrid::surf::Action
 Action (simgrid::surf::Model *model, double cost, bool failed)
 Action constructor. More...
 
 Action (simgrid::surf::Model *model, double cost, bool failed, lmm_variable_t var)
 Action constructor. More...
 
virtual ~Action ()
 Destructor. More...
 
void finish (Action::State state)
 Mark that the action is now finished. More...
 
Action::State getState () const
 Get the state of the current Action. More...
 
double getBound () const
 Get the bound of the current Action. More...
 
void setBound (double bound)
 Set the bound of the current Action. More...
 
double getStartTime () const
 Get the start time of the current action. More...
 
double getFinishTime () const
 Get the finish time of the current action. More...
 
voidgetData () const
 Get the user data associated to the current action. More...
 
void setData (void *data)
 Set the user data associated to the current action. More...
 
double getCost () const
 Get the cost of the current action. More...
 
void setCost (double cost)
 Set the cost of the current action. More...
 
void updateMaxDuration (double delta)
 Update the maximum duration of the current action. More...
 
void updateRemains (double delta)
 Update the remaining time of the current action. More...
 
void setRemains (double value)
 Set the remaining time of the current action. More...
 
virtual double getRemains ()
 Get the remaining time of the current action after updating the resource. More...
 
double getRemainsNoUpdate () const
 Get the remaining time of the current action without updating the resource. More...
 
void setFinishTime (double value)
 Set the finish time of the current action. More...
 
void ref ()
 Add a reference to the current action (refcounting) More...
 
virtual int unref ()
 Unref that action (and destroy it if refcount reaches 0) More...
 
virtual void cancel ()
 Cancel the current Action if running. More...
 
virtual void suspend ()
 Suspend the current Action. More...
 
virtual void resume ()
 Resume the current Action. More...
 
virtual bool isSuspended ()
 Returns true if the current action is running. More...
 
double getMaxDuration () const
 Get the maximum duration of the current action. More...
 
virtual void setMaxDuration (double duration)
 Set the maximum duration of the current Action. More...
 
char * getCategory () const
 Get the tracing category associated to the current action. More...
 
void setCategory (const char *category)
 Set the tracing category of the current Action. More...
 
double getPriority () const
 Get the priority of the current Action. More...
 
virtual void setSharingWeight (double priority)
 Set the priority of the current Action. More...
 
void setSharingWeightNoUpdate (double weight)
 
ActionListgetStateSet () const
 Get the state set in which the action is. More...
 
simgrid::surf::ModelgetModel () const
 
virtual void updateRemainingLazy (double now)
 
void heapInsert (heap_type &heap, double key, enum heap_action_type hat)
 
void heapRemove (heap_type &heap)
 
void heapUpdate (heap_type &heap, double key, enum heap_action_type hat)
 
void clearHeapHandle ()
 
lmm_variable_t getVariable () const
 
void setVariable (lmm_variable_t var)
 
double getLastUpdate () const
 
void refreshLastUpdate ()
 
double getLastValue () const
 
void setLastValue (double val)
 
enum heap_action_type getHat () const
 
bool is_linked () const
 

Public Attributes

double latency_ = {}
 
double latCurrent_ = {}
 
double weight_ = {}
 
double rate_ = {}
 
- Public Attributes inherited from simgrid::surf::Action
boost::intrusive::list_member_hook action_hook
 
boost::intrusive::list_member_hook action_lmm_hook
 

Additional Inherited Members

- Public Types inherited from simgrid::surf::Action
enum  State {
  State::ready = 0, State::running, State::failed, State::done,
  State::to_free, State::not_in_the_system
}
 
typedef boost::intrusive::member_hook< Action, boost::intrusive::list_member_hook<>, &Action::action_hookActionOptions
 
typedef boost::intrusive::list< Action, ActionOptionsActionList
 
- Protected Attributes inherited from simgrid::surf::Action
ActionListstateSet_
 
int refcount_ = 1
 
int suspended_ = 0
 

Constructor & Destructor Documentation

◆ NetworkAction() [1/2]

simgrid::surf::NetworkAction::NetworkAction ( simgrid::surf::Model model,
double  cost,
bool  failed 
)
inline

Constructor.

Parameters
modelThe NetworkModel associated to this NetworkAction
costThe cost of this NetworkAction in [TODO]
failed[description]

◆ NetworkAction() [2/2]

simgrid::surf::NetworkAction::NetworkAction ( simgrid::surf::Model model,
double  cost,
bool  failed,
lmm_variable_t  var 
)
inline

NetworkAction constructor.

Parameters
modelThe NetworkModel associated to this NetworkAction
costThe cost of this NetworkAction in [TODO]
failed[description]
varThe lmm variable associated to this Action if it is part of a LMM component

Member Function Documentation

◆ setState()

void simgrid::surf::NetworkAction::setState ( simgrid::surf::Action::State  state)
overridevirtual

Set the state of the current Action.

Reimplemented from simgrid::surf::Action.

◆ links()

std::list< LinkImpl * > simgrid::surf::NetworkAction::links ( )
virtual

returns a list of all Links that this action is using

Reimplemented in simgrid::surf::NetworkNS3Action.

Member Data Documentation

◆ latency_

double simgrid::surf::NetworkAction::latency_ = {}

◆ latCurrent_

double simgrid::surf::NetworkAction::latCurrent_ = {}

◆ weight_

double simgrid::surf::NetworkAction::weight_ = {}

◆ rate_

double simgrid::surf::NetworkAction::rate_ = {}

The documentation for this class was generated from the following files: