- * \brief set the receiver of the rendez vous point to allow eager sends
- * \param mbox The rendez-vous point
- * \param process The receiving process
- */
-void SIMIX_mbox_set_receiver(smx_mailbox_t mbox, smx_actor_t process)
-{
- mbox->permanent_receiver = process;
-}
-
-/**
- * \brief Pushes a communication synchro into a rendez-vous point
- * \param mbox The mailbox
- * \param synchro The communication synchro
- */
-static inline void SIMIX_mbox_push(smx_mailbox_t mbox, smx_activity_t synchro)
-{
- simgrid::kernel::activity::Comm *comm = static_cast<simgrid::kernel::activity::Comm*>(synchro);
- mbox->comm_queue.push_back(comm);
- comm->mbox = mbox;
-}
-
-/**
- * \brief Removes a communication synchro from a rendez-vous point
- * \param mbox The rendez-vous point
- * \param synchro The communication synchro
- */
-void SIMIX_mbox_remove(smx_mailbox_t mbox, smx_activity_t synchro)
-{
- simgrid::kernel::activity::Comm *comm = static_cast<simgrid::kernel::activity::Comm*>(synchro);
-
- comm->mbox = nullptr;
- for (auto it = mbox->comm_queue.begin(); it != mbox->comm_queue.end(); it++)
- if (*it == comm) {
- mbox->comm_queue. erase(it);
- return;
- }
- xbt_die("Cannot remove the comm %p that is not part of the mailbox %s",comm, mbox->name);
-}
-
-/**
- * \brief Checks if there is a communication synchro queued in a deque matching our needs