#include <boost/unordered_map.hpp>
-#include "actor.hpp"
+#include <xbt/base.h>
+#include <simgrid/s4u/forward.hpp>
+#include <simgrid/s4u/actor.hpp>
namespace simgrid {
namespace s4u {
-class Comm;
-
/** @brief Mailboxes
*
* Rendez-vous point for network communications, similar to URLs on which you could post and retrieve data.
* You can access any mailbox without any latency. The network delay are only related to the location of the
* sender and receiver.
*/
-class Mailbox {
- friend Actor; // FIXME: remove it when recv async exist
+XBT_PUBLIC_CLASS Mailbox {
friend Comm;
private:
smx_rdv_t getInferior() { return p_inferior; }
public:
+ /** Get the name of that mailbox */
+ const char *getName();
/** Retrieve the mailbox associated to the given string */
static Mailbox *byName(const char *name);
private:
std::string p_name;
smx_rdv_t p_inferior;
- static boost::unordered_map<std::string, Mailbox *> *channels;
+ static boost::unordered_map<std::string, Mailbox *> *mailboxes;
};
}} // namespace simgrid::s4u