MayaFlux 0.5.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 637 of file SoundStreamContainer.cpp.

638{
639 Memory::SeqlockWriteGuard g(m_reader_lock);
640 m_active_readers[dimension_index]++;
641 uint32_t reader_id = m_dimension_to_next_reader_id[dimension_index]++;
642 m_reader_consumed_dimensions[reader_id] = std::unordered_set<uint32_t>();
643 return reader_id;
644}
std::unordered_map< uint32_t, int > m_active_readers
std::unordered_map< uint32_t, std::unordered_set< uint32_t > > m_reader_consumed_dimensions
std::unordered_map< uint32_t, uint32_t > m_dimension_to_next_reader_id

References m_active_readers, m_dimension_to_next_reader_id, m_reader_consumed_dimensions, and m_reader_lock.