#include "xbt/log.h"
#include "src/msg/msg_private.h"
+#include "src/simix/smx_network_private.h"
#include "simgrid/s4u/mailbox.hpp"
s4u::Mailbox::Mailbox(const char*name, smx_mailbox_t inferior) {
- inferior_ = inferior;
+ pimpl_ = inferior;
name_ = name;
mailboxes->insert({name, this});
}
}
bool s4u::Mailbox::empty() {
- return nullptr == simcall_mbox_get_head(inferior_);
+ return nullptr == simcall_mbox_front(pimpl_);
}
void s4u::Mailbox::setReceiver(smx_process_t process) {
- simcall_mbox_set_receiver(inferior_, process);
+ simcall_mbox_set_receiver(pimpl_, process);
}
+/** @brief get the receiver (process associated to the mailbox) */
smx_process_t s4u::Mailbox::receiver() {
- return simcall_mbox_get_receiver(inferior_);
+ return pimpl_->permanent_receiver;
}
/*------- C functions -------*/