Sound Byte Libs 1ee2ca6
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs
ring_buffer.hpp File Reference

Lock-free ring buffer for ISR-safe communication. More...

#include <cstdint>
Include dependency graph for ring_buffer.hpp:

Go to the source code of this file.

Classes

class  sbl::core::primitives::buffers::RingBuffer< T, Size, MemoryBarrierImpl >
 Lock-free single-producer-single-consumer ring buffer. More...
 

Namespaces

namespace  sbl
 Root namespace for all Sound Byte Libs functionality.
 
namespace  sbl::common
 
namespace  sbl::common::types
 
namespace  sbl::core
 
namespace  sbl::core::primitives
 
namespace  sbl::core::primitives::buffers
 

Typedefs

template<typename MemoryBarrierImpl >
using sbl::core::primitives::buffers::AudioSampleBuffer = RingBuffer< int16_t, 512, MemoryBarrierImpl >
 Type alias for common audio sample buffer - ARM-optimized sizing.
 
template<typename MemoryBarrierImpl >
using sbl::core::primitives::buffers::MidiEventBuffer = RingBuffer< uint8_t, 128, MemoryBarrierImpl >
 Type alias for MIDI event buffer - ARM-optimized sizing.
 
template<typename EventType , typename MemoryBarrierImpl >
using sbl::core::primitives::buffers::EventBuffer = RingBuffer< EventType, 64, MemoryBarrierImpl >
 Type alias for general event buffer - ARM-optimized sizing.
 

Detailed Description

Lock-free ring buffer for ISR-safe communication.

Provides single-producer-single-consumer (SPSC) ring buffer for safe communication between interrupt service routines and main thread without blocking or corruption.

Essential for audio applications where data must flow between interrupts and processing threads without blocking the interrupt handler.

Definition in file ring_buffer.hpp.