+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()