-
-
-using namespace simgrid;
-
-s4u::Actor::Actor(smx_process_t smx_proc) {
- p_smx_process = smx_proc;
-}
-s4u::Actor::Actor(const char *name, s4u::Host *host, int argc, char **argv)
- : s4u::Actor::Actor(name,host, argc,argv, -1) {
+Actor::Actor(const char* name, s4u::Host *host, double killTime,
+ const char* function, std::vector<std::string> args)
+{
+ simgrid::simix::ActorCodeFactory& factory = SIMIX_get_actor_code_factory(function);
+ simgrid::simix::ActorCode code = factory(std::move(args));
+ this->pimpl_ = SIMIX_process_ref(simcall_process_create(
+ name, std::move(code), nullptr, host->name().c_str(),
+ killTime, nullptr, 0));