MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ resolve_backend()

INetworkBackend * MayaFlux::Core::NetworkSubsystem::resolve_backend ( uint64_t  endpoint_id) const
private

Resolve endpoint_id to its owning backend.

Returns nullptr if the id is unknown.

Definition at line 467 of file NetworkSubsystem.cpp.

468{
469 NetworkTransport transport {};
470 {
471 std::shared_lock lock(m_routing_mutex);
472 auto it = m_endpoint_routing.find(endpoint_id);
473 if (it == m_endpoint_routing.end()) {
474 return nullptr;
475 }
476 transport = it->second;
477 }
478
479 return get_backend(transport);
480}
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
INetworkBackend * get_backend(NetworkTransport transport) const
Get a backend by transport type.
NetworkTransport
Identifies the transport protocol a backend implements.