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

◆ initialize()

void MayaFlux::Core::NetworkSubsystem::initialize ( SubsystemProcessingHandle handle)
overridevirtual

Initialize with a handle provided by SubsystemManager.

Parameters
handleProcessing handle providing access to buffer and node operations

The handle is borrowed - subsystem doesn't own it but uses it throughout its lifetime. This is where subsystems configure their processing resources, create initial nodes, setup buffer configurations, and prepare for operation.

The handle provides token-scoped access to both buffer processing and node graph operations, ensuring the subsystem operates within its designated processing domain with proper thread safety and resource isolation.

Implements MayaFlux::Core::ISubsystem.

Definition at line 38 of file NetworkSubsystem.cpp.

39{
41 "Initializing Network Subsystem...");
42
43 m_handle = &handle;
44
45 if (m_config.udp.enabled) {
47 }
48 if (m_config.tcp.enabled) {
50 }
53 }
54
56
58
59 m_ready.store(true);
60
62 "Network Subsystem initialized with {} backend(s)", m_backends.size());
63}
#define MF_INFO(comp, ctx,...)
SubsystemProcessingHandle * m_handle
std::unordered_map< NetworkTransport, std::unique_ptr< INetworkBackend > > m_backends
std::shared_ptr< Registry::Service::NetworkService > m_network_service
@ Init
Engine/subsystem initialization.
@ Core
Core engine, backend, subsystems.
bool initialize(Registry::Service::NetworkService *service)
Initialize Portal::Network.
Definition Network.cpp:11

References MayaFlux::Journal::Core, MayaFlux::Core::UDPBackendInfo::enabled, MayaFlux::Core::TCPBackendInfo::enabled, MayaFlux::Core::SharedMemoryBackendInfo::enabled, MayaFlux::Journal::Init, MayaFlux::Portal::Network::initialize(), initialize_shm_backend(), initialize_tcp_backend(), initialize_udp_backend(), m_backends, m_config, m_handle, m_network_service, m_ready, MF_INFO, register_backend_service(), MayaFlux::Core::GlobalNetworkConfig::shared_memory, MayaFlux::Core::GlobalNetworkConfig::tcp, and MayaFlux::Core::GlobalNetworkConfig::udp.

+ Here is the call graph for this function: