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

◆ NetworkSink() [1/3]

MayaFlux::Portal::Network::NetworkSink::NetworkSink ( const StreamConfig config)
explicit

Open a send endpoint from a StreamConfig.

Parameters
configStream configuration.

Resolves the transport hint, opens the endpoint via NetworkService, and logs a warning if the service is unavailable.

Definition at line 34 of file NetworkSink.cpp.

35 : m_name(config.name)
36{
38 .get_service<Registry::Service::NetworkService>();
39
40 if (!svc) {
42 "NetworkSink '{}': NetworkService not available", m_name);
43 return;
44 }
45
46 m_service = svc;
47
48 Core::EndpointInfo info;
49 info.transport = resolve_transport(config.transport, config.profile);
50 info.role = Core::EndpointRole::SEND;
51 info.remote_address = config.endpoint.address;
52 info.remote_port = config.endpoint.port;
53 info.local_port = config.endpoint.local_port;
54 info.label = config.name;
55
56 m_endpoint_id = svc->open_endpoint(info);
57
58 if (m_endpoint_id == 0) {
60 "NetworkSink '{}': endpoint open failed", m_name);
61 return;
62 }
63
65 "NetworkSink '{}' opened endpoint {}", m_name, m_endpoint_id);
66}
#define MF_WARN(comp, ctx,...)
#define MF_DEBUG(comp, ctx,...)
Registry::Service::NetworkService * m_service
Interface * get_service()
Query for a backend service.
static BackendRegistry & instance()
Get the global registry instance.
@ Networking
Network operations (data transfer, protocol handling)
@ Portal
High-level user-facing API layer.

References MayaFlux::Portal::Network::StreamEndpoint::address, MayaFlux::Portal::Network::StreamConfig::endpoint, MayaFlux::Registry::BackendRegistry::get_service(), MayaFlux::Registry::BackendRegistry::instance(), MayaFlux::Core::EndpointInfo::label, MayaFlux::Core::EndpointInfo::local_port, MayaFlux::Portal::Network::StreamEndpoint::local_port, m_endpoint_id, m_name, m_service, MF_DEBUG, MF_WARN, MayaFlux::Portal::Network::StreamConfig::name, MayaFlux::Journal::Networking, MayaFlux::Portal::Network::StreamEndpoint::port, MayaFlux::Journal::Portal, MayaFlux::Portal::Network::StreamConfig::profile, MayaFlux::Core::EndpointInfo::remote_address, MayaFlux::Core::EndpointInfo::remote_port, MayaFlux::Core::EndpointInfo::role, MayaFlux::Core::SEND, MayaFlux::Core::EndpointInfo::transport, and MayaFlux::Portal::Network::StreamConfig::transport.

+ Here is the call graph for this function: