Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::CircularEventBuffer Class Reference

#include <circular_buffer.h>

Classes

struct  Event
 

Public Types

typedef std::vector< EventEventList
 

Public Member Functions

 CircularEventBuffer (size_t size)
 
 ~CircularEventBuffer ()
 
void reset ()
 
void write (uint8_t const *, size_t)
 
bool read (EventList &)
 

Private Member Functions

 CircularEventBuffer (CircularEventBuffer const &)
 

Private Attributes

Event_buf
 
size_t _size
 
size_t _size_mask
 
std::atomic< size_t > _idx
 
std::atomic< size_t > _ack
 

Detailed Description

Definition at line 51 of file circular_buffer.h.

Member Typedef Documentation

◆ EventList

Definition at line 61 of file circular_buffer.h.

Constructor & Destructor Documentation

◆ CircularEventBuffer() [1/2]

ARDOUR::CircularEventBuffer::CircularEventBuffer ( size_t  size)

◆ ~CircularEventBuffer()

ARDOUR::CircularEventBuffer::~CircularEventBuffer ( )

◆ CircularEventBuffer() [2/2]

ARDOUR::CircularEventBuffer::CircularEventBuffer ( CircularEventBuffer const &  )
private

Member Function Documentation

◆ read()

bool ARDOUR::CircularEventBuffer::read ( EventList )

◆ reset()

void ARDOUR::CircularEventBuffer::reset ( )

◆ write()

void ARDOUR::CircularEventBuffer::write ( uint8_t const *  ,
size_t   
)

Member Data Documentation

◆ _ack

std::atomic<size_t> ARDOUR::CircularEventBuffer::_ack
private

Definition at line 78 of file circular_buffer.h.

◆ _buf

Event* ARDOUR::CircularEventBuffer::_buf
private

Definition at line 73 of file circular_buffer.h.

◆ _idx

std::atomic<size_t> ARDOUR::CircularEventBuffer::_idx
private

Definition at line 77 of file circular_buffer.h.

◆ _size

size_t ARDOUR::CircularEventBuffer::_size
private

Definition at line 74 of file circular_buffer.h.

◆ _size_mask

size_t ARDOUR::CircularEventBuffer::_size_mask
private

Definition at line 75 of file circular_buffer.h.


The documentation for this class was generated from the following file: