From ee9287a4774c1756480fe1bcc6d5113f6d3d4988 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Mon, 16 Mar 2020 09:26:46 +0100 Subject: [PATCH] add sg_mailbox_put_init --- include/simgrid/mailbox.h | 6 ++++-- src/s4u/s4u_Mailbox.cpp | 7 +++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/include/simgrid/mailbox.h b/include/simgrid/mailbox.h index 93907206d1..836e664771 100644 --- a/include/simgrid/mailbox.h +++ b/include/simgrid/mailbox.h @@ -17,10 +17,12 @@ XBT_PUBLIC const char* sg_mailbox_get_name(const_sg_mailbox_t mailbox); XBT_PUBLIC void sg_mailbox_set_receiver(const char* alias); 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_init(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 void sg_mailbox_put(sg_mailbox_t mailbox, void* payload, long simulated_size_in_bytes); + XBT_PUBLIC sg_comm_t sg_mailbox_get_async(sg_mailbox_t mailbox, void** data); +XBT_PUBLIC void* sg_mailbox_get(sg_mailbox_t mailbox); SG_END_DECL diff --git a/src/s4u/s4u_Mailbox.cpp b/src/s4u/s4u_Mailbox.cpp index ffbfb69ebc..b879b2b51d 100644 --- a/src/s4u/s4u_Mailbox.cpp +++ b/src/s4u/s4u_Mailbox.cpp @@ -219,3 +219,10 @@ sg_comm_t sg_mailbox_put_async(sg_mailbox_t mailbox, void* payload, long simulat comm->add_ref(); return comm.get(); } + +sg_comm_t sg_mailbox_put_init(sg_mailbox_t mailbox, void* payload, long simulated_size_in_bytes) +{ + auto comm = mailbox->put_init(payload, simulated_size_in_bytes); + comm->add_ref(); + return comm.get(); +} -- 2.20.1