typedef boost::intrusive::member_hook<
Action, boost::intrusive::list_member_hook<>, &Action::action_hook> ActionOptions;
typedef boost::intrusive::list<Action, ActionOptions> ActionList;
+
+ enum class State {
+ ready = 0, /**< Ready */
+ running, /**< Running */
+ failed, /**< Task Failure */
+ done, /**< Completed */
+ to_free, /**< Action to free in next cleanup */
+ not_in_the_system /**< Not in the system anymore. Why did you ask ? */
+ };
+
private:
/**
* @brief Common initializations for the constructors
void finish();
/** @brief Get the [state](\ref e_surf_action_state_t) of the current Action */
- e_surf_action_state_t getState(); /**< get the state*/
+ Action::State getState(); /**< get the state*/
/** @brief Set the [state](\ref e_surf_action_state_t) of the current Action */
- virtual void setState(e_surf_action_state_t state);
+ virtual void setState(Action::State state);
/** @brief Get the bound of the current Action */
double getBound();
virtual ~Model();
/** @brief Get the set of [actions](@ref Action) in *ready* state */
- virtual ActionList* getReadyActionSet() {return p_readyActionSet;}
+ virtual ActionList* getReadyActionSet() {return readyActionSet_;}
/** @brief Get the set of [actions](@ref Action) in *running* state */
- virtual ActionList* getRunningActionSet() {return p_runningActionSet;}
+ virtual ActionList* getRunningActionSet() {return runningActionSet_;}
/** @brief Get the set of [actions](@ref Action) in *failed* state */
- virtual ActionList* getFailedActionSet() {return p_failedActionSet;}
+ virtual ActionList* getFailedActionSet() {return failedActionSet_;}
/** @brief Get the set of [actions](@ref Action) in *done* state */
- virtual ActionList* getDoneActionSet() {return p_doneActionSet;}
+ virtual ActionList* getDoneActionSet() {return doneActionSet_;}
/** @brief Get the set of modified [actions](@ref Action) */
- virtual ActionLmmListPtr getModifiedSet() {return p_modifiedSet;}
+ virtual ActionLmmListPtr getModifiedSet() {return modifiedSet_;}
/** @brief Get the maxmin system of the current Model */
- lmm_system_t getMaxminSystem() {return p_maxminSystem;}
+ lmm_system_t getMaxminSystem() {return maxminSystem_;}
/**
* @brief Get the update mechanism of the current Model
* @see e_UM_t
*/
- e_UM_t getUpdateMechanism() {return p_updateMechanism;}
+ e_UM_t getUpdateMechanism() {return updateMechanism_;}
/** @brief Get Action heap */
- xbt_heap_t getActionHeap() {return p_actionHeap;}
+ xbt_heap_t getActionHeap() {return actionHeap_;}
/**
* @brief Share the resources between the actions
virtual bool next_occuring_event_isIdempotent()=0;
protected:
- ActionLmmListPtr p_modifiedSet;
- lmm_system_t p_maxminSystem = nullptr;
- e_UM_t p_updateMechanism = UM_UNDEFINED;
- int m_selectiveUpdate;
- xbt_heap_t p_actionHeap;
+ ActionLmmListPtr modifiedSet_;
+ lmm_system_t maxminSystem_ = nullptr;
+ e_UM_t updateMechanism_ = UM_UNDEFINED;
+ int selectiveUpdate_;
+ xbt_heap_t actionHeap_;
private:
- ActionList* p_readyActionSet; /**< Actions in state SURF_ACTION_READY */
- ActionList* p_runningActionSet; /**< Actions in state SURF_ACTION_RUNNING */
- ActionList* p_failedActionSet; /**< Actions in state SURF_ACTION_FAILED */
- ActionList* p_doneActionSet; /**< Actions in state SURF_ACTION_DONE */
+ ActionList* readyActionSet_; /**< Actions in state SURF_ACTION_READY */
+ ActionList* runningActionSet_; /**< Actions in state SURF_ACTION_RUNNING */
+ ActionList* failedActionSet_; /**< Actions in state SURF_ACTION_FAILED */
+ ActionList* doneActionSet_; /**< Actions in state SURF_ACTION_DONE */
};
}