Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add sg_mailbox_get_async
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Thu, 20 Feb 2020 09:13:23 +0000 (10:13 +0100)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Thu, 20 Feb 2020 09:13:23 +0000 (10:13 +0100)
include/simgrid/mailbox.h
src/s4u/s4u_Mailbox.cpp

index 5bd74ba..9390720 100644 (file)
@@ -20,6 +20,7 @@ XBT_PUBLIC int sg_mailbox_listen(const char* alias);
 XBT_PUBLIC void sg_mailbox_put(sg_mailbox_t mailbox, void* payload, long simulated_size_in_bytes);
 XBT_PUBLIC sg_comm_t sg_mailbox_put_async(sg_mailbox_t mailbox, void* payload, long simulated_size_in_bytes);
 XBT_PUBLIC void* sg_mailbox_get(sg_mailbox_t mailbox);
+XBT_PUBLIC sg_comm_t sg_mailbox_get_async(sg_mailbox_t mailbox, void** data);
 
 SG_END_DECL
 
index 5f6755b..ffbfb69 100644 (file)
@@ -201,6 +201,13 @@ void* sg_mailbox_get(sg_mailbox_t mailbox)
   return mailbox->get();
 }
 
+sg_comm_t sg_mailbox_get_async(sg_mailbox_t mailbox, void** data)
+{
+  auto comm = mailbox->get_async(data);
+  comm->add_ref();
+  return comm.get();
+}
+
 void sg_mailbox_put(sg_mailbox_t mailbox, void* payload, long simulated_size_in_bytes)
 {
   return mailbox->put(payload, simulated_size_in_bytes);