Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
convert process-join to actor-join
[simgrid.git] / include / simgrid / s4u / Actor.hpp
index e9cdd87..c6384f4 100644 (file)
@@ -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<std::string, std::string>* 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();