X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f2236ed8987d2350cba5d839b6420e53968b6225..5811ded710c22d5cdc908db44b8282519e4f543e:/src/s4u/s4u_mailbox.cpp diff --git a/src/s4u/s4u_mailbox.cpp b/src/s4u/s4u_mailbox.cpp index 6e497d85be..ace9d8cf2c 100644 --- a/src/s4u/s4u_mailbox.cpp +++ b/src/s4u/s4u_mailbox.cpp @@ -20,8 +20,12 @@ boost::unordered_map *s4u::Mailbox::mailboxes = ne s4u::Mailbox::Mailbox(const char*name, smx_mailbox_t inferior) { inferior_ = inferior; + name_ = name; mailboxes->insert({name, this}); } +const char *s4u::Mailbox::getName() { + return name_.c_str(); +} s4u::Mailbox *s4u::Mailbox::byName(const char*name) { s4u::Mailbox *res; try { @@ -41,9 +45,24 @@ bool s4u::Mailbox::empty() { return nullptr == simcall_mbox_get_head(inferior_); } +void s4u::Mailbox::setReceiver(smx_process_t process) { + simcall_mbox_set_receiver(inferior_, process); +} +smx_process_t s4u::Mailbox::receiver() { + return simcall_mbox_get_receiver(inferior_); +} + +/*------- C functions -------*/ + sg_mbox_t sg_mbox_by_name(const char*name){ return s4u::Mailbox::byName(name); } int sg_mbox_is_empty(sg_mbox_t mbox) { return mbox->empty(); } +void sg_mbox_setReceiver(sg_mbox_t mbox, smx_process_t process) { + mbox->setReceiver(process); +} +smx_process_t sg_mbox_receiver(sg_mbox_t mbox) { + return mbox->receiver(); +}