Shutdown and cleanup subsystem resources.
177{
179
180 {
183 }
184
185 {
188 }
189
190 {
192 for (
auto& [transport, backend] :
m_backends) {
193 backend->shutdown();
194 }
196 }
197
200 }
201
206 }
207
209
211 "Network Subsystem shutdown complete");
212}
#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.