X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/74bcff9d24e37bcf0bf4f80667d14b476cb3329d..6f8347f58430e00fabef8e6cbbf3fb94e6b8a49d:/include/simgrid/plugins/task.hpp diff --git a/include/simgrid/plugins/task.hpp b/include/simgrid/plugins/task.hpp index 8143333d86..87a357be43 100644 --- a/include/simgrid/plugins/task.hpp +++ b/include/simgrid/plugins/task.hpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -28,6 +29,8 @@ struct ExtendedAttributeActivity { Task* task_; }; +class XBT_PUBLIC Token : public xbt::Extendable {}; + class Task { std::set successors_ = {}; std::map predecessors_ = {}; @@ -39,6 +42,8 @@ class Task { protected: std::string name_; double amount_; + std::shared_ptr token_ = nullptr; + std::deque>> tokens_received_; int queued_execs_ = 0; int count_ = 0; bool working_ = false; @@ -61,6 +66,8 @@ public: void enqueue_execs(int n); void set_amount(double amount); double get_amount() const { return amount_; } + void set_token(std::shared_ptr token); + std::shared_ptr get_next_token_from(TaskPtr t); void add_successor(TaskPtr t); void remove_successor(TaskPtr t); void remove_all_successors();