A lock-free RingBuffer.
More...
#include <RingBuffer.hpp>
List of all members.
Public Member Functions |
| | RingBuffer (uint32_t size) |
| void | reset () |
| | Reset(empty) the ringbuffer.
|
|
uint32_t | write_space () const |
|
uint32_t | read_space () const |
|
uint32_t | capacity () const |
| uint32_t | peek (uint32_t size, void *dst) |
| | Peek at the ringbuffer (read w/o advancing read pointer).
|
|
bool | full_peek (uint32_t size, void *dst) |
| uint32_t | read (uint32_t size, void *dst) |
| | Read from the ringbuffer.
|
|
bool | full_read (uint32_t size, void *dst) |
|
bool | skip (uint32_t size) |
|
void | write (uint32_t size, const void *src) |
Protected Attributes |
|
uint32_t | _write_ptr |
|
uint32_t | _read_ptr |
|
char *const | _buf |
| | Contents.
|
|
const uint32_t | _size |
| | Size (capacity) in bytes.
|
Detailed Description
A lock-free RingBuffer.
Read/Write realtime safe. Single-reader Single-writer thread safe.
Constructor & Destructor Documentation
Member Function Documentation
Reset(empty) the ringbuffer.
NOT thread safe.
Referenced by RingBuffer().
Peek at the ringbuffer (read w/o advancing read pointer).
Note that a full read may not be done if the data wraps around. Caller must check return value and call again if necessary, or use the full_peek method which does this automatically.
References _buf, and _size.
Read from the ringbuffer.
Note that a full read may not be done if the data wraps around. Caller must check return value and call again if necessary, or use the full_read method which does this automatically.
References _buf, and _size.
The documentation for this class was generated from the following file: