X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ecd5f7562caf1d443bf22788fa5f4fac408776ec..e3b7b40594af0c6cae13e79ace27da724740fcf6:/src/surf/surf_interface.hpp diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index 3809adee86..8b16ee0294 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -129,6 +129,12 @@ public: not_in_the_system /**< Not in the system anymore. Why did you ask ? */ }; + enum class SuspendStates { + not_suspended = 0, /**< Action currently not suspended **/ + suspended, + sleeping + }; + /** * @brief Action constructor * @@ -136,7 +142,7 @@ public: * @param cost The cost of the Action * @param failed If the action is impossible (e.g.: execute something on a switched off host) */ - Action(simgrid::surf::Model *model, double cost, bool failed); + Action(simgrid::surf::Model* model, double cost, bool failed); /** * @brief Action constructor @@ -146,7 +152,7 @@ public: * @param failed If the action is impossible (e.g.: execute something on a switched off host) * @param var The lmm variable associated to this Action if it is part of a LMM component */ - Action(simgrid::surf::Model *model, double cost, bool failed, lmm_variable_t var); + Action(simgrid::surf::Model* model, double cost, bool failed, lmm_variable_t var); /** @brief Destructor */ virtual ~Action(); @@ -239,8 +245,6 @@ public: /** @brief Get the state set in which the action is */ ActionList* getStateSet() const { return stateSet_; }; - s_xbt_swag_hookup_t stateHookup_ = {nullptr,nullptr}; - simgrid::surf::Model* getModel() const { return model_; } protected: @@ -261,10 +265,10 @@ private: void *data_ = nullptr; /**< for your convenience */ /* LMM */ - double lastUpdate_ = 0; - double lastValue_ = 0; - lmm_variable_t variable_ = nullptr; - enum heap_action_type hat_ = NOTSET; + double lastUpdate_ = 0; + double lastValue_ = 0; + lmm_variable_t variable_ = nullptr; + enum heap_action_type hat_ = NOTSET; boost::optional heapHandle_ = boost::none; public: @@ -282,7 +286,7 @@ public: enum heap_action_type getHat() const { return hat_; } bool is_linked() const { return action_lmm_hook.is_linked(); } protected: - int suspended_ = 0; + Action::SuspendStates suspended_ = Action::SuspendStates::not_suspended; }; typedef Action::ActionList ActionList; @@ -435,6 +439,9 @@ public: /** @brief Check if the current Resource is used (if it currently serves an action) */ virtual bool isUsed()=0; + /** @brief returns the current load (in flops per second, byte per second or similar) */ + virtual double getLoad(); + /** @brief Check if the current Resource is active */ virtual bool isOn() const; /** @brief Check if the current Resource is shut down */