X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3a7c50103eca28c3ae0260ae8917c4e37def6c90..8e9b70d3dc4bc81e7f13c923ba3e6a736395d963:/src/simix/smx_network_private.h diff --git a/src/simix/smx_network_private.h b/src/simix/smx_network_private.h index 420e31e303..ca85abf0db 100644 --- a/src/simix/smx_network_private.h +++ b/src/simix/smx_network_private.h @@ -8,19 +8,39 @@ #define _SIMIX_NETWORK_PRIVATE_H #include -#include +#include + #include +#include + +#include + #include "simgrid/simix.h" #include "popping_private.h" +#include "src/simix/smx_process_private.h" + +namespace simgrid { +namespace simix { /** @brief Rendez-vous point datatype */ -typedef struct s_smx_mailbox { - char *name = nullptr; - std::deque *comm_queue = nullptr; + +class Mailbox { +public: + Mailbox(const char* name) : mbox_(this), name(xbt_strdup(name)) {} + ~Mailbox() { + xbt_free(name); + } + + simgrid::s4u::Mailbox mbox_; + char* name; + std::deque comm_queue; boost::intrusive_ptr permanent_receiver; //process which the mailbox is attached to - std::deque *done_comm_queue = nullptr;//messages already received in the permanent receive mode -} s_smx_mailbox_t; + std::deque done_comm_queue;//messages already received in the permanent receive mode +}; + +} +} XBT_PRIVATE void SIMIX_mailbox_exit(void);