Shutdown and cleanup subsystem resources.
152{
154
155 {
158 }
159
160 {
163 }
164
165 {
167 for (
auto& [transport, backend] :
m_backends) {
168 backend->shutdown();
169 }
171 }
172
175 }
176
181 }
182
184
186 "Network Subsystem shutdown complete");
187}
#define MF_INFO(comp, ctx,...)
std::shared_mutex m_backends_mutex
std::shared_mutex m_routing_mutex
Maps endpoint_id -> transport for routing send/close/query to the correct backend without scanning al...
std::unordered_map< uint64_t, NetworkTransport > m_endpoint_routing
std::atomic< bool > m_ready
std::unordered_map< uint64_t, NetworkReceiveCallback > m_endpoint_callbacks
std::shared_mutex m_callbacks_mutex
Per-endpoint receive callbacks set by consumers via set_endpoint_receive_callback().
void stop() override
Stop the subsystem's processing/event loops.
std::unordered_map< NetworkTransport, std::unique_ptr< INetworkBackend > > m_backends
std::shared_ptr< Registry::Service::NetworkService > m_network_service
static BackendRegistry & instance()
Get the global registry instance.
void unregister_service()
Unregister a service.
@ Init
Engine/subsystem initialization.
@ Core
Core engine, backend, subsystems.
void shutdown()
Shutdown Portal::Network and release all resources.
bool is_initialized()
Return true if Portal::Network has been initialized.