+/** @brief Register a new netpoint to the system */
+void Engine::netpointRegister(simgrid::kernel::routing::NetPoint* point)
+{
+// simgrid::simix::kernelImmediate([&]{ FIXME: this segfaults in set_thread
+ pimpl->netpoints_[point->name()] = point;
+// });
+}
+/** @brief Unregister a given netpoint */
+void Engine::netpointUnregister(simgrid::kernel::routing::NetPoint* point)
+{
+ simgrid::simix::kernelImmediate([this, point] {
+ pimpl->netpoints_.erase(point->name());
+ delete point;
+ });
+}
+
+bool Engine::isInitialized()
+{
+ return Engine::instance_ != nullptr;