Struct MPSCQueue::Lane

Nested Relationships

This struct is a nested type of Template Class MPSCQueue.

Struct Documentation

struct Lane

the lane of a producer: its block and place, the consumer’s block and place, the blocks the consumer gave back, each on lines of its own

Public Functions

inline explicit Lane(EventCount *w)

Public Members

Block *in

the producer’s block

std::size_t pos = 0

its next place

Block *spare = nullptr

its blocks to reuse

Block *out

the consumer’s block

std::size_t at = 0

its next place

bool streaming = false

its last call took some

std::atomic<Block*> given = {nullptr}
Lane *nextLane = nullptr

in the list of the lanes

EventCount *wait

the sleep of the consumer