if (self_context == nullptr)
return simgrid::s4u::ActorPtr();
- return simgrid::s4u::ActorPtr(&self_context->process()->getIface());
+ return self_context->process()->iface();
}
ActorPtr Actor::createActor(const char* name, s4u::Host* host, std::function<void()> code)
{
smx_actor_t actor = simcall_process_create(name, std::move(code), nullptr, host, nullptr);
- return ActorPtr(&actor->getIface());
+ return actor->iface();
}
ActorPtr Actor::createActor(const char* name, s4u::Host* host, 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));
smx_actor_t actor = simcall_process_create(name, std::move(code), nullptr, host, nullptr);
- return ActorPtr(&actor->getIface());
+ return actor->iface();
}
// ***** Actor methods *****
return this->pimpl_->host;
}
+const char* Actor::cname()
+{
+ return this->pimpl_->name.c_str();
+}
+
simgrid::xbt::string Actor::name()
{
return this->pimpl_->name;
}
void Actor::kill(int pid) {
- msg_process_t process = SIMIX_process_from_PID(pid);
+ smx_actor_t process = SIMIX_process_from_PID(pid);
if(process != nullptr) {
simcall_process_kill(process);
} else {
{
smx_actor_t process = SIMIX_process_from_PID(pid);
if (process != nullptr)
- return ActorPtr(&process->getIface());
+ return process->iface();
else
- return nullptr;
+ return ActorPtr();
}
void Actor::killAll() {
return SIMIX_process_self()->ppid;
}
+std::string name()
+{
+ return SIMIX_process_self()->name;
+}
}
}
}