+ simgrid::kernel::actor::ActorImpl* issuer = simgrid::kernel::actor::ActorImpl::self();
+ simgrid::kernel::actor::simcall_blocking([io, issuer, timeout] { io->wait_for(issuer, timeout); });
+ return simgrid::kernel::activity::State::DONE;
+}
+
+bool simcall_io_test(simgrid::kernel::activity::ActivityImpl* io) // XBT_ATTRIB_DEPRECATED_v330
+{
+ return simgrid::kernel::actor::simcall([io] { return io->test(); });
+}
+
+bool simcall_io_test(const simgrid::kernel::activity::ActivityImplPtr& io) // XBT_ATTRIB_DEPRECATD_v330
+{
+ return simgrid::kernel::actor::simcall([io] { return io->test(); });
+}
+
+void simcall_run_kernel(std::function<void()> const& code, simgrid::kernel::actor::SimcallObserver* observer)
+{
+ simgrid::kernel::actor::ActorImpl::self()->simcall_.observer_ = observer;