Arduino DLNA Server
|
A simple single producer, single consumer lock free queue. More...
#include <QueueLockFree.h>
Classes | |
struct | Node |
Public Member Functions | |
QueueLockFree (size_t capacity, Allocator &allocator=DefaultAllocator) | |
~QueueLockFree () | |
void | setAllocator (Allocator &allocator) |
void | resize (size_t capacity) |
size_t | capacity () const |
size_t | size () const |
bool | enqueue (T &&data) |
bool | enqueue (T &data) |
bool | dequeue (const T &&data) |
bool | dequeue (T &result) |
void | clear () |
Protected Attributes | |
Node * | p_node |
size_t | capacity_mask |
size_t | capacity_value |
std::atomic< size_t > | tail_pos |
std::atomic< size_t > | head_pos |
Vector< Node > | vector |
A simple single producer, single consumer lock free queue.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |