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 473 of file NetworkSubsystem.cpp.

474{
475 NetworkTransport transport {};
476 {
477 std::shared_lock lock(m_routing_mutex);
478 auto it = m_endpoint_routing.find(endpoint_id);
479 if (it == m_endpoint_routing.end()) {
480 return nullptr;
481 }
482 transport = it->second;
483 }
484
485 return get_backend(transport);
486}
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.