+void Actor::killAll(int resetPid)
+{
+ simcall_process_killall(resetPid);
+}
+
+std::map<std::string, std::string>* Actor::getProperties()
+{
+ return simgrid::simix::kernelImmediate([this] { return this->pimpl_->getProperties(); });
+}
+
+/** Retrieve the property value (or nullptr if not set) */
+const char* Actor::getProperty(const char* key)
+{
+ return simgrid::simix::kernelImmediate([this, key] { return pimpl_->getProperty(key); });
+}
+
+void Actor::setProperty(const char* key, const char* value)
+{
+ simgrid::simix::kernelImmediate([this, key, value] { pimpl_->setProperty(key, value); });
+}
+
+Actor* Actor::restart()
+{
+ return simgrid::simix::kernelImmediate([this]() { return pimpl_->restart(); });
+}
+
+ExecPtr Actor::exec_init(double flops_amount)
+{
+ ExecPtr res = ExecPtr(new Exec());
+ res->host_ = this->getHost();
+ res->flops_amount_ = flops_amount;
+ res->setRemains(flops_amount);
+ return res;
+}
+
+ExecPtr Actor::exec_async(double flops)
+{
+ ExecPtr res = exec_init(flops);
+ res->start();
+ return res;
+}
+