Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
MPMCQueue Struct Reference

Multiple Producer Multiple Consumer lock-free queue. More...

#include <utils/mpmc_queue.h>

Collaboration diagram for MPMCQueue:

Data Fields

char pad0 [64]
 
cell_tbuffer
 
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)]
 

Detailed Description

Multiple Producer Multiple Consumer lock-free queue.

See https://gist.github.com/x42/9aa5e737a1479bafb7f1bb96f7c64dc0

Definition at line 68 of file mpmc_queue.h.

Field Documentation

◆ buffer

cell_t* MPMCQueue::buffer

Definition at line 71 of file mpmc_queue.h.

◆ buffer_mask

size_t MPMCQueue::buffer_mask

Definition at line 72 of file mpmc_queue.h.

◆ dequeue_pos

MPMC_QUEUE_TYPE MPMCQueue::dequeue_pos

Definition at line 76 of file mpmc_queue.h.

◆ enqueue_pos

MPMC_QUEUE_TYPE MPMCQueue::enqueue_pos

Definition at line 74 of file mpmc_queue.h.

◆ pad0

char MPMCQueue::pad0[64]

Definition at line 70 of file mpmc_queue.h.

◆ pad1

char MPMCQueue::pad1[64 - sizeof(cell_t *) - sizeof(size_t)]

Definition at line 73 of file mpmc_queue.h.

◆ pad2

char MPMCQueue::pad2[64 - sizeof(size_t)]

Definition at line 75 of file mpmc_queue.h.

◆ pad3

char MPMCQueue::pad3[64 - sizeof(size_t)]

Definition at line 77 of file mpmc_queue.h.


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