/** Start the previously initialized actor.
*
* Note that argv is copied over, so you should free your own copy once the actor is started. */
-XBT_PUBLIC void sg_actor_start(sg_actor_t actor, xbt_main_func_t code, int argc, char** argv);
+XBT_PUBLIC void sg_actor_start(sg_actor_t actor, xbt_main_func_t code, int argc, const char* const* argv);
XBT_PUBLIC aid_t sg_actor_get_PID(const_sg_actor_t actor);
XBT_PUBLIC aid_t sg_actor_get_PPID(const_sg_actor_t actor);
XBT_PUBLIC sg_actor_t sg_actor_by_PID(aid_t pid);
XBT_PUBLIC void sg_mailbox_set_receiver(const char* alias);
XBT_PUBLIC int sg_mailbox_listen(const char* alias);
+XBT_PUBLIC void sg_mailbox_put(sg_mailbox_t mailbox, void* payload, long simulated_size_in_bytes);
XBT_PUBLIC sg_comm_t sg_mailbox_put_async(sg_mailbox_t mailbox, void* payload, long simulated_size_in_bytes);
XBT_PUBLIC void* sg_mailbox_get(sg_mailbox_t mailbox);
return simgrid::s4u::Actor::init(name, host).get();
}
-void sg_actor_start(sg_actor_t actor, xbt_main_func_t code, int argc, char** argv)
+void sg_actor_start(sg_actor_t actor, xbt_main_func_t code, int argc, const char* const* argv)
{
simgrid::simix::ActorCode function;
if (code)
- function = simgrid::xbt::wrap_main(code, argc, static_cast<const char* const*>(argv));
+ function = simgrid::xbt::wrap_main(code, argc, argv);
actor->start(std::move(function));
}
return mailbox->get_cname();
}
-sg_comm_t sg_mailbox_put_async(sg_mailbox_t mailbox, void* payload, long simulated_size_in_bytes)
-{
- auto comm = mailbox->put_async(payload, simulated_size_in_bytes);
- comm->add_ref();
- return comm.get();
-}
-
/** @brief Set the mailbox to receive in asynchronous mode
*
* All messages sent to this mailbox will be transferred to the receiver without waiting for the receive call.
{
return mailbox->get();
}
+
+void sg_mailbox_put(sg_mailbox_t mailbox, void* payload, long simulated_size_in_bytes)
+{
+ return mailbox->put(payload, simulated_size_in_bytes);
+}
+
+sg_comm_t sg_mailbox_put_async(sg_mailbox_t mailbox, void* payload, long simulated_size_in_bytes)
+{
+ auto comm = mailbox->put_async(payload, simulated_size_in_bytes);
+ comm->add_ref();
+ return comm.get();
+}