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

Detailed Description

SURF storage action interface class.

#include <StorageImpl.hpp>

Inheritance diagram for simgrid::surf::StorageAction:
simgrid::surf::Action simgrid::surf::StorageN11Action

Public Member Functions

 StorageAction (Model *model, double cost, bool failed, StorageImpl *storage, e_surf_action_storage_type_t type)
 StorageAction constructor. More...
 
 StorageAction (Model *model, double cost, bool failed, lmm_variable_t var, StorageImpl *storage, e_surf_action_storage_type_t type)
 StorageAction constructor. More...
 
void setState (simgrid::surf::Action::State state) override
 Set the state of the current Action. 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

e_surf_action_storage_type_t type_
 
StorageImplstorage_
 
- 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

◆ StorageAction() [1/2]

simgrid::surf::StorageAction::StorageAction ( Model model,
double  cost,
bool  failed,
StorageImpl storage,
e_surf_action_storage_type_t  type 
)
inline

StorageAction constructor.

Parameters
modelThe StorageModel associated to this StorageAction
costThe cost of this NetworkAction in [TODO]
failed[description]
storageThe Storage associated to this StorageAction
type[description]

◆ StorageAction() [2/2]

simgrid::surf::StorageAction::StorageAction ( Model model,
double  cost,
bool  failed,
lmm_variable_t  var,
StorageImpl storage,
e_surf_action_storage_type_t  type 
)
inline

StorageAction constructor.

Parameters
modelThe StorageModel associated to this StorageAction
costThe cost of this StorageAction in [TODO]
failed[description]
varThe lmm variable associated to this StorageAction if it is part of a LMM component
storageThe Storage associated to this StorageAction
type[description]

Member Function Documentation

◆ setState()

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

Set the state of the current Action.

Reimplemented from simgrid::surf::Action.

Member Data Documentation

◆ type_

e_surf_action_storage_type_t simgrid::surf::StorageAction::type_

◆ storage_

StorageImpl* simgrid::surf::StorageAction::storage_

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