X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/79739657970ffcf609c1e90f6112e8f5a8583801..1aaf3e3fc120f9434c692f1c49d03a00b24e55a1:/include/simgrid/kernel/resource/Action.hpp diff --git a/include/simgrid/kernel/resource/Action.hpp b/include/simgrid/kernel/resource/Action.hpp index 20e877ca76..4961cef1d9 100644 --- a/include/simgrid/kernel/resource/Action.hpp +++ b/include/simgrid/kernel/resource/Action.hpp @@ -29,7 +29,7 @@ class XBT_PUBLIC Action { public: /* Lazy update needs this Set hook to maintain a list of the tracked actions */ boost::intrusive::list_member_hook<> modified_set_hook_; - bool isLinkedModifiedSet() const { return modified_set_hook_.is_linked(); } + bool is_within_modified_set() const { return modified_set_hook_.is_linked(); } typedef boost::intrusive::list< Action, boost::intrusive::member_hook, &Action::modified_set_hook_>> ModifiedSet; @@ -97,7 +97,7 @@ public: /** @brief Get the start time of the current action */ double get_start_time() const { return start_time_; } /** @brief Get the finish time of the current action */ - double getFinishTime() const { return finish_time_; } + double get_finish_time() const { return finish_time_; } /** @brief Get the user data associated to the current action */ void* get_data() const { return data_; } @@ -117,6 +117,8 @@ public: * @param delta Amount to remove from the remaining time */ void update_remains(double delta); + virtual void update_remains_lazy(double now) = 0; + /** @brief Set the remaining time of the current action */ void set_remains(double value) { remains_ = value; } @@ -131,8 +133,7 @@ public: /**@brief Add a reference to the current action (refcounting) */ void ref(); /** @brief Unref that action (and destroy it if refcount reaches 0) - * @return true if the action was destroyed and false if someone still has references on it - */ + * @return true if the action was destroyed and false if someone still has references on it */ int unref(); /** @brief Cancel the current Action if running */ @@ -145,7 +146,7 @@ public: virtual void resume(); /** @brief Returns true if the current action is running */ - virtual bool isSuspended(); + bool is_suspended(); /** @brief Get the maximum duration of the current action */ double get_max_duration() const { return max_duration_; } @@ -177,34 +178,36 @@ private: double max_duration_ = NO_MAX_DURATION; /*< max_duration (may fluctuate until the task is completed) */ double remains_; /**< How much of that cost remains to be done in the currently running task */ double start_time_; /**< start time */ - char* category_ = nullptr; /**< tracing category for categorized resource utilization monitoring */ - double finish_time_ = - -1; /**< finish time : this is modified during the run and fluctuates until the task is completed */ + double finish_time_ = -1; /**< finish time (may fluctuate until the task is completed) */ + char* category_ = nullptr; /**< tracing category for categorized resource utilization monitoring */ double cost_; simgrid::kernel::resource::Model* model_; void* data_ = nullptr; /**< for your convenience */ /* LMM */ - double last_update_ = 0; - double last_value_ = 0; - kernel::lmm::Variable* variable_ = nullptr; - Action::Type type_ = Action::Type::NOTSET; - boost::optional heap_handle_ = boost::none; + double last_update_ = 0; + double last_value_ = 0; + kernel::lmm::Variable* variable_ = nullptr; + Action::Type type_ = Action::Type::NOTSET; + boost::optional heap_hook_ = boost::none; public: - virtual void updateRemainingLazy(double now) = 0; - void heapInsert(heap_type& heap, double key, Action::Type hat); - void heapRemove(heap_type& heap); - void heapUpdate(heap_type& heap, double key, Action::Type hat); - void clearHeapHandle() { heap_handle_ = boost::none; } - kernel::lmm::Variable* getVariable() const { return variable_; } - void setVariable(kernel::lmm::Variable* var) { variable_ = var; } - double getLastUpdate() const { return last_update_; } - void refreshLastUpdate(); - double getLastValue() const { return last_value_; } - void setLastValue(double val) { last_value_ = val; } - Action::Type getType() const { return type_; } + void heapInsert(double key, Action::Type hat); + void heapRemove(); + void heapUpdate(double key, Action::Type hat); + void clearHeapHandle() { heap_hook_ = boost::none; } + + lmm::Variable* get_variable() const { return variable_; } + void set_variable(lmm::Variable* var) { variable_ = var; } + + double get_last_update() const { return last_update_; } + void set_last_update(); + + double get_last_value() const { return last_value_; } + void set_last_value(double val) { last_value_ = val; } + + Action::Type get_type() const { return type_; } protected: Action::SuspendStates suspended_ = Action::SuspendStates::not_suspended;