MayaFlux 0.5.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 448 of file NetworkSubsystem.cpp.

449{
450 NetworkTransport transport {};
451 {
452 std::shared_lock lock(m_routing_mutex);
453 auto it = m_endpoint_routing.find(endpoint_id);
454 if (it == m_endpoint_routing.end()) {
455 return nullptr;
456 }
457 transport = it->second;
458 }
459
460 return get_backend(transport);
461}
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.