-s4u::Comm &s4u::Actor::send_init(Mailbox &chan) {
- return s4u::Comm::send_init(this, chan);
+e_smx_state_t execute(double flops) {
+ smx_activity_t s = simcall_execution_start(nullptr,flops,1.0/*priority*/,0./*bound*/);
+ return simcall_execution_wait(s);
+}
+
+void* recv(MailboxPtr chan) {
+ void *res = nullptr;
+ Comm& c = Comm::recv_init(chan);
+ c.setDstData(&res,sizeof(res));
+ c.wait();
+ return res;
+}
+
+void send(MailboxPtr chan, void* payload, double simulatedSize)
+{
+ Comm& c = Comm::send_init(chan);
+ c.setRemains(simulatedSize);
+ c.setSrcData(payload);
+ // c.start() is optional.
+ c.wait();
+}
+
+int pid()
+{
+ return SIMIX_process_self()->pid;
+}
+
+int ppid()
+{
+ return SIMIX_process_self()->ppid;
+}
+
+std::string name()
+{
+ return SIMIX_process_self()->name;
+}
+}
+}