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

SURF storage action interface class. More...

#include <storage_interface.hpp>

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

Public Member Functions

 StorageAction (Model *model, double cost, bool failed, Storage *storage, e_surf_action_storage_type_t type)
 StorageAction constructor. More...
 
 StorageAction (Model *model, double cost, bool failed, lmm_variable_t var, Storage *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 ()
 Mark that the action is now finished. More...
 
Action::State getState ()
 Get the state of the current Action. More...
 
double getBound ()
 Get the bound of the current Action. More...
 
void setBound (double bound)
 Set the bound of the current Action. More...
 
double getStartTime ()
 Get the start time of the current action. More...
 
double getFinishTime ()
 Get the finish time of the current action. More...
 
voidgetData ()
 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 ()
 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 ()
 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 ()
 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 ()
 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 ()
 Get the priority of the current Action. More...
 
virtual void setPriority (double priority)
 Set the priority of the current Action. More...
 
ActionListgetStateSet ()
 Get the state set in which the action is. More...
 
simgrid::surf::ModelgetModel ()
 
virtual void updateRemainingLazy (double now)
 
void heapInsert (xbt_heap_t heap, double key, enum heap_action_type hat)
 
void heapRemove (xbt_heap_t heap)
 
void heapUpdate (xbt_heap_t heap, double key, enum heap_action_type hat)
 
void updateIndexHeap (int i)
 
lmm_variable_t getVariable ()
 
double getLastUpdate ()
 
void refreshLastUpdate ()
 
enum heap_action_type getHat ()
 
bool is_linked ()
 
void gapRemove ()
 

Public Attributes

e_surf_action_storage_type_t m_type
 
Storagep_storage
 
surf_file_t p_file
 
double progress
 
- Public Attributes inherited from simgrid::surf::Action
boost::intrusive::list_member_hook action_hook
 
boost::intrusive::list_member_hook action_lmm_hook
 
s_xbt_swag_hookup_t stateHookup_ = {NULL,NULL}
 

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_
 
double priority_ = 1.0
 priority (1.0 by default) More...
 
int refcount_ = 1
 
double remains_
 How much of that cost remains to be done in the currently running task. More...
 
double maxDuration_ = NO_MAX_DURATION
 
double finishTime_ = -1
 finish time : this is modified during the run and fluctuates until the task is completed More...
 
lmm_variable_t variable_ = nullptr
 
double lastValue_ = 0
 
double lastUpdate_ = 0
 
int suspended_ = 0
 
int indexHeap_
 
enum heap_action_type hat_ = NOTSET
 

Detailed Description

SURF storage action interface class.

Constructor & Destructor Documentation

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

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]
simgrid::surf::StorageAction::StorageAction ( Model model,
double  cost,
bool  failed,
lmm_variable_t  var,
Storage storage,
e_surf_action_storage_type_t  type 
)

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

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

e_surf_action_storage_type_t simgrid::surf::StorageAction::m_type
Storage* simgrid::surf::StorageAction::p_storage
surf_file_t simgrid::surf::StorageAction::p_file
double simgrid::surf::StorageAction::progress

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