49 LOGFATAL(
"ringbuffer: %s: can't allocate memory for ringbuffer", __FUNCTION__);
139 buf = (uint8_t *)buf + n;
244 buf = (uint8_t *)buf + n;
size_t GetWritePointer(void **)
Get write pointer and free bytes at this position of ring buffer.
virtual ~cSoftHdRingbuffer(void)
cSoftHdRingbuffer destructor
char * m_pWritePointer
only used by writer
size_t Read(void *, size_t)
Read from a ring buffer.
size_t UsedBytes(void)
Get used bytes in ring buffer.
size_t WriteAdvance(size_t)
Advance write pointer in ring buffer.
size_t FreeBytes(void)
Get free bytes in ring buffer.
cSoftHdRingbuffer(size_t)
cSoftHdRingbuffer constructor
atomic_t m_filled
how many of the buffer is used
size_t ReadAdvance(size_t)
Advance read pointer in ring buffer.
const char * m_pReadPointer
only used by reader
size_t GetReadPointer(const void **)
Get read pointer and used bytes at this position of ring buffer.
const char * m_pBufferEnd
end of buffer
size_t m_Size
bytes in buffer (for faster calc)
size_t Write(const void *, size_t)
Write to a ring buffer.
char * m_pBuffer
ring buffer data
void Reset(void)
Reset ring buffer pointers.
Atomic wrapper macros function header file.
#define atomic_add(val, ptr)
Add to atomic value.
#define atomic_set(ptr, val)
Set atomic value.
#define atomic_read(ptr)
Read atomic value.
#define atomic_sub(val, ptr)
Subtract from atomic value.
Logger class header file.
#define LOGFATAL
Logger macros.
Ringbuffer class header file.