-void* recv(Mailbox &chan) {
- void *res = nullptr;
- Comm c = Comm::recv_init(chan);
- c.setDstData(&res,sizeof(res));
- c.wait();
- return res;
+void* recv(MailboxPtr chan) {
+ return chan->get();
+}
+
+void* recv(MailboxPtr chan, double timeout)
+{
+ return chan->get(timeout);
+}
+
+void send(MailboxPtr chan, void* payload, double simulatedSize)
+{
+ chan->put(payload, simulatedSize);
+}
+
+void send(MailboxPtr chan, void* payload, double simulatedSize, double timeout)
+{
+ chan->put(payload, simulatedSize, timeout);
+}
+
+CommPtr isend(MailboxPtr chan, void* payload, double simulatedSize)
+{
+ return chan->put_async(payload, simulatedSize);
+}
+
+CommPtr irecv(MailboxPtr chan, void** data)
+{
+ return chan->get_async(data);
+}
+
+aid_t getPid()
+{
+ return SIMIX_process_self()->pid;
+}
+
+aid_t getPpid()
+{
+ return SIMIX_process_self()->ppid;
+}
+
+std::string getName()
+{
+ return SIMIX_process_self()->name;
+}
+
+Host* getHost()
+{
+ return SIMIX_process_self()->host;