Zrythm
a highly automated and intuitive digital audio workstation
|
Multiple Producer Multiple Consumer lock-free queue. More...
#include <utils/mpmc_queue.h>
Data Fields | |
char | pad0 [64] |
cell_t * | buffer |
size_t | buffer_mask |
char | pad1 [64 - sizeof(cell_t *) - sizeof(size_t)] |
MPMC_QUEUE_TYPE | enqueue_pos |
char | pad2 [64 - sizeof(size_t)] |
MPMC_QUEUE_TYPE | dequeue_pos |
char | pad3 [64 - sizeof(size_t)] |
Multiple Producer Multiple Consumer lock-free queue.
See https://gist.github.com/x42/9aa5e737a1479bafb7f1bb96f7c64dc0
Definition at line 68 of file mpmc_queue.h.
cell_t* MPMCQueue::buffer |
Definition at line 71 of file mpmc_queue.h.
size_t MPMCQueue::buffer_mask |
Definition at line 72 of file mpmc_queue.h.
MPMC_QUEUE_TYPE MPMCQueue::dequeue_pos |
Definition at line 76 of file mpmc_queue.h.
MPMC_QUEUE_TYPE MPMCQueue::enqueue_pos |
Definition at line 74 of file mpmc_queue.h.
char MPMCQueue::pad0[64] |
Definition at line 70 of file mpmc_queue.h.
char MPMCQueue::pad1[64 - sizeof(cell_t *) - sizeof(size_t)] |
Definition at line 73 of file mpmc_queue.h.
char MPMCQueue::pad2[64 - sizeof(size_t)] |
Definition at line 75 of file mpmc_queue.h.
char MPMCQueue::pad3[64 - sizeof(size_t)] |
Definition at line 77 of file mpmc_queue.h.