kradio4  r778
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
RingBuffer Class Reference

#include <ringbuffer.h>

Public Member Functions

 RingBuffer (size_t size, bool synchronized=false)
 
 ~RingBuffer ()
 
bool resize (size_t new_size)
 
size_t addData (const char *src, size_t size)
 
size_t takeData (char *dst, size_t size, bool lock=true)
 
char * getFreeSpace (size_t &size)
 
size_t removeFreeSpace (size_t size)
 
char * getData (size_t &size)
 
size_t removeData (size_t size)
 
size_t getSize () const
 
size_t getFillSize () const
 
size_t getFreeSize () const
 
void clear ()
 
void lockTransaction () const
 
void unlockTransaction () const
 

Protected Member Functions

void lock () const
 
void unlock () const
 

Protected Attributes

char * m_Buffer
 
size_t m_Start
 
size_t m_Size
 
size_t m_FillSize
 
bool m_synchronized
 
QSemaphore m_synchronizer
 
QSemaphore m_transactionSynchronizer
 

Detailed Description

Definition at line 29 of file ringbuffer.h.

Constructor & Destructor Documentation

RingBuffer::RingBuffer ( size_t  size,
bool  synchronized = false 
)
RingBuffer::~RingBuffer ( )

Member Function Documentation

size_t RingBuffer::addData ( const char *  src,
size_t  size 
)
void RingBuffer::clear ( )
char* RingBuffer::getData ( size_t &  size)
size_t RingBuffer::getFillSize ( ) const
size_t RingBuffer::getFreeSize ( ) const
char* RingBuffer::getFreeSpace ( size_t &  size)
size_t RingBuffer::getSize ( ) const
void RingBuffer::lock ( ) const
protected
void RingBuffer::lockTransaction ( ) const
size_t RingBuffer::removeData ( size_t  size)
size_t RingBuffer::removeFreeSpace ( size_t  size)
bool RingBuffer::resize ( size_t  new_size)
size_t RingBuffer::takeData ( char *  dst,
size_t  size,
bool  lock = true 
)
void RingBuffer::unlock ( ) const
protected
void RingBuffer::unlockTransaction ( ) const

Member Data Documentation

char* RingBuffer::m_Buffer
protected

Definition at line 59 of file ringbuffer.h.

size_t RingBuffer::m_FillSize
protected

Definition at line 61 of file ringbuffer.h.

size_t RingBuffer::m_Size
protected

Definition at line 61 of file ringbuffer.h.

size_t RingBuffer::m_Start
protected

Definition at line 60 of file ringbuffer.h.

bool RingBuffer::m_synchronized
protected

Definition at line 64 of file ringbuffer.h.

QSemaphore RingBuffer::m_synchronizer
mutableprotected

Definition at line 65 of file ringbuffer.h.

QSemaphore RingBuffer::m_transactionSynchronizer
mutableprotected

Definition at line 66 of file ringbuffer.h.


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