X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1bd1bbd35034c2e93a030a676dc244ad2cf74c70..0cd4d8c91c2648bdcb5d1f095132c0930e9427b7:/include/simgrid/s4u/Actor.hpp diff --git a/include/simgrid/s4u/Actor.hpp b/include/simgrid/s4u/Actor.hpp index e9cdd87e85..c6384f45bd 100644 --- a/include/simgrid/s4u/Actor.hpp +++ b/include/simgrid/s4u/Actor.hpp @@ -217,7 +217,9 @@ public: /** Resume a suspended actor by resuming the task on which it was waiting for the completion. */ void resume(); - + + void yield(); + /** Returns true if the actor is suspended. */ int isSuspended(); @@ -256,6 +258,7 @@ public: * This blocks the calling actor until the actor on which we call join() is terminated */ void join(); + void join(double timeout); // Static methods on all actors: @@ -267,6 +270,7 @@ public: simix::ActorImpl* getImpl(); /** Retrieve the property value (or nullptr if not set) */ + std::map* getProperties(); const char* getProperty(const char* key); void setProperty(const char* key, const char* value); Actor* restart(); @@ -306,6 +310,10 @@ XBT_PUBLIC(void) execute(double flop); * An execution of priority 2 computes twice as fast as an execution at priority 1. */ XBT_PUBLIC(void) execute(double flop, double priority); +XBT_PUBLIC(void) parallel_execute(int host_nb, sg_host_t* host_list, double* flops_amount, double* bytes_amount); +XBT_PUBLIC(void) +parallel_execute(int host_nb, sg_host_t* host_list, double* flops_amount, double* bytes_amount, double timeout); + /** Block the actor until it gets a message from the given mailbox. * * See \ref Comm for the full communication API (including non blocking communications). @@ -347,6 +355,9 @@ XBT_PUBLIC(Host*) getHost(); /** @brief Suspend the actor. */ XBT_PUBLIC(void) suspend(); +/** @brief yield the actor. */ +XBT_PUBLIC(void) yield(); + /** @brief Resume the actor. */ XBT_PUBLIC(void) resume();