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

◆ processing_loop()

void MayaFlux::Core::InputManager::processing_loop ( )
private

Definition at line 303 of file InputManager.cpp.

304{
306 "Processing thread started");
307
308 while (true) {
309 InputValue value;
310
311 while (auto value = m_queue.pop()) {
312 dispatch_to_nodes(*value);
313 m_events_processed.fetch_add(1);
314 }
315
316 if (m_stop_requested.load()) {
317 break;
318 }
319
320 m_queue_notify.wait(false);
321 m_queue_notify.store(false);
322 }
323
325 "Processing thread exiting");
326}
#define MF_DEBUG(comp, ctx,...)
std::atomic< bool > m_stop_requested
std::atomic< bool > m_queue_notify
Memory::LockFreeQueue< InputValue, MAX_QUEUE_SIZE > m_queue
void dispatch_to_nodes(const InputValue &value)
std::atomic< uint64_t > m_events_processed
@ AsyncIO
Async I/O operations ( network, streaming)
@ Core
Core engine, backend, subsystems.

References MayaFlux::Journal::AsyncIO, MayaFlux::Journal::Core, dispatch_to_nodes(), m_events_processed, m_queue, m_queue_notify, m_stop_requested, and MF_DEBUG.

Referenced by start().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: