-void send(Mailbox &chan, void *payload, size_t simulatedSize) {
- Comm& c = Comm::send_init(chan);
- c.setRemains(simulatedSize);
- c.setSrcData(payload);
- // c.start() is optional.
- c.wait();
+void send(MailboxPtr chan, void* payload, double simulatedSize)
+{
+ CommPtr c = Comm::send_init(chan);
+ c->setRemains(simulatedSize);
+ c->setSrcData(payload);
+ // c->start() is optional.
+ c->wait();
+}
+
+void send(MailboxPtr chan, void* payload, double simulatedSize, double timeout)
+{
+ CommPtr c = Comm::send_init(chan);
+ c->setRemains(simulatedSize);
+ c->setSrcData(payload);
+ // c->start() is optional.
+ c->wait(timeout);
+}
+
+CommPtr isend(MailboxPtr chan, void* payload, double simulatedSize)
+{
+ return Comm::send_async(chan, payload, simulatedSize);
+}
+
+void dsend(MailboxPtr chan, void* payload, double simulatedSize)
+{
+ Comm::send_detached(chan, payload, simulatedSize);
+}
+
+CommPtr irecv(MailboxPtr chan, void** data)
+{
+ return Comm::recv_async(chan, data);
+}
+
+aid_t pid()
+{
+ return SIMIX_process_self()->pid;
+}
+
+aid_t ppid()
+{
+ return SIMIX_process_self()->ppid;
+}
+
+std::string name()
+{
+ return SIMIX_process_self()->name;
+}
+
+Host* host()
+{
+ return SIMIX_process_self()->host;
+}
+
+void suspend()
+{
+ simcall_process_suspend(SIMIX_process_self());
+}
+
+void resume()
+{
+ simcall_process_resume(SIMIX_process_self());
+}
+
+int isSuspended()
+{
+ return simcall_process_is_suspended(SIMIX_process_self());
+}
+
+void kill()
+{
+ simcall_process_kill(SIMIX_process_self());