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

◆ register_dimension_reader()

uint32_t MayaFlux::Kakshya::SoundStreamContainer::register_dimension_reader ( uint32_t  dimension_index)
overridevirtual

Register a reader for a specific dimension.

Parameters
dimension_indexIndex of the dimension being read
Returns
Reader ID for the registered dimension

Used for tracking active readers in multi-threaded or streaming scenarios, enabling safe concurrent access and efficient resource management.

Implements MayaFlux::Kakshya::SignalSourceContainer.

Definition at line 683 of file SoundStreamContainer.cpp.

684{
685 std::lock_guard<std::mutex> lock(m_reader_mutex);
686 m_active_readers[dimension_index]++;
687
688 uint32_t reader_id = m_dimension_to_next_reader_id[dimension_index]++;
689 m_reader_consumed_dimensions[reader_id] = std::unordered_set<uint32_t>();
690
691 return reader_id;
692}
std::unordered_map< uint32_t, int > m_active_readers
std::unordered_map< uint32_t, std::unordered_set< uint32_t > > m_reader_consumed_dimensions
void lock() override
Acquire a lock for thread-safe access.
std::unordered_map< uint32_t, uint32_t > m_dimension_to_next_reader_id

References lock(), m_active_readers, m_dimension_to_next_reader_id, m_reader_consumed_dimensions, and m_reader_mutex.

+ Here is the call graph for this function: