A backing structure for a BBQueue. Can be used to create either
a BBQueue or a split Producer/Consumer pair
Consumer
is the primary interface for reading data from a BBBuffer
.
A structure representing a contiguous region of memory that
may be read from, and potentially “released” (or cleared)
from the queue
A structure representing a contiguous region of memory that
may be written to, and potentially “committed” to the queue.
Producer
is the primary interface for pushing data into a BBBuffer
.
There are various methods for obtaining a grant to write to the buffer, with
different potential tradeoffs. As all grants are required to be a contiguous
range of data, different strategies are sometimes useful when making the decision
between maximizing usage of the buffer, and ensuring a given grant is successful.
A structure representing up to two contiguous regions of memory that
may be read from, and potentially “released” (or cleared)
from the queue