MayaFlux 0.1.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 681 of file SoundStreamContainer.cpp.

682{
683 std::lock_guard<std::mutex> lock(m_reader_mutex);
684 m_active_readers[dimension_index]++;
685
686 uint32_t reader_id = m_dimension_to_next_reader_id[dimension_index]++;
687 m_reader_consumed_dimensions[reader_id] = std::unordered_set<uint32_t>();
688
689 return reader_id;
690}
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: