class RingBufferState
Defined at line 32 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
Internal state backing RingBuffer. Refer to that class for the public API.
This class is not movable or copyable.
This class is thread-safe.
Public Methods
zx_status_t Reserve (uint64_t blocks, RingBufferReservation * out)
Reserves space for |blocks| contiguous blocks in the circular buffer.
To perform optimally, these reservations should be destroyed in the same order
they are reserved.
|blocks| must be greater than zero.
Returns ZX_ERR_NO_SPACE if there is not enough room.
Defined at line 15 of file ../../zircon/system/ulib/storage/buffer/ring_buffer.cc
void Free (const RingBufferReservation & reservation)
Frees |reservation| from the buffer.
Only callable by |RingBufferReservation|, since this frees the previously used
reservation.
Defined at line 32 of file ../../zircon/system/ulib/storage/buffer/ring_buffer.cc
void RingBufferState (VmoBuffer buffer)
Defined at line 34 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
void RingBufferState (const RingBufferState & )
Defined at line 36 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
RingBufferState & operator= (const RingBufferState & )
Defined at line 37 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
void RingBufferState (RingBufferState && other)
Defined at line 38 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
RingBufferState & operator= (RingBufferState && other)
Defined at line 39 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
void ~RingBufferState ()
Defined at line 40 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
size_t capacity ()
Returns the total amount of pending blocks which may be buffered.
Defined at line 52 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
uint32_t BlockSize ()
Defined at line 54 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
void * Data (size_t index)
Returns data starting at block |index| in the buffer.
Only callable by |RingBufferReservation|, since this uses the previously created
reservation.
Defined at line 66 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
VmoBuffer * buffer ()
Returns a pointer to the underlying buffer. Should only be accessible to the
|RingBufferReservation|, which should take caution to only reference reserved portions
of the buffer itself.
Defined at line 71 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
const VmoBuffer * buffer ()
Defined at line 72 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
vmoid_t vmoid ()
Returns the vmoid of the underlying RingBuffer.
Only callable by |RingBufferReservation|, since this uses the previously created
reservation.
Defined at line 78 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h