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

◆ processing_loop()

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

Definition at line 319 of file InputManager.cpp.

320{
322 "Processing thread started");
323
324 while (true) {
325 InputValue value;
326
327 while (auto value = m_queue.pop()) {
329 m_events_processed.fetch_add(1);
330 }
331
332 if (m_stop_requested.load()) {
333 break;
334 }
335
336 m_queue_notify.wait(false);
337 m_queue_notify.store(false);
338 }
339
341 "Processing thread exiting");
342}
#define MF_DEBUG(comp, ctx,...)
glm::vec3 value
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, MF_DEBUG, and value.

Referenced by start().

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