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

◆ processing_loop()

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

Definition at line 306 of file InputManager.cpp.

307{
309 "Processing thread started");
310
311 while (true) {
312 InputValue value;
313
314 while (auto value = m_queue.pop()) {
315 dispatch_to_nodes(*value);
316 m_events_processed.fetch_add(1);
317 }
318
319 if (m_stop_requested.load()) {
320 break;
321 }
322
323 m_queue_notify.wait(false);
324 m_queue_notify.store(false);
325 }
326
328 "Processing thread exiting");
329}
#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: