Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add send with timeout and irecv to this_actor API
[simgrid.git] / include / simgrid / s4u / Actor.hpp
index 2196ead..c158e9d 100644 (file)
@@ -235,10 +235,13 @@ public:
   double killTime();
 
   void migrate(Host * new_host);
+
   /** Ask the actor to die.
    *
-   * It will only notice your request when doing a simcall next time (a communication or similar).
-   * SimGrid sometimes have issues when you kill actors that are currently communicating and such.
+   * Any blocking activity will be canceled, and it will be rescheduled to free its memory.
+   * Being killed is not something that actors can defer or avoid.
+   *
+   * SimGrid still have sometimes issues when you kill actors that are currently communicating and such.
    * Still. Please report any bug that you may encounter with a minimal working example.
    */
   void kill();
@@ -299,14 +302,16 @@ namespace this_actor {
    * See \ref Comm for the full communication API (including non blocking communications).
    */
   XBT_PUBLIC(void*) recv(MailboxPtr chan);
+  XBT_PUBLIC(Comm&) irecv(MailboxPtr chan, void** data);
 
   /** Block the actor until it delivers a message of the given simulated size to the given mailbox
    *
    * See \ref Comm for the full communication API (including non blocking communications).
   */
   XBT_PUBLIC(void) send(MailboxPtr chan, void* payload, double simulatedSize);
+  XBT_PUBLIC(void) send(MailboxPtr chan, void* payload, double simulatedSize, double timeout);
 
-  XBT_PUBLIC(void) isend(MailboxPtr chan, void* payload, double simulatedSize);
+  XBT_PUBLIC(Comm&) isend(MailboxPtr chan, void* payload, double simulatedSize);
 
   /** @brief Returns the PID of the current actor. */
   XBT_PUBLIC(int) pid();