class RingBuffer
Defined at line 185 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
In-memory circular buffer.
This class is not movable or copyable.
This class is thread-safe.
Public Methods
void RingBuffer (VmoBuffer buffer)
Defined at line 187 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
void RingBuffer (const RingBuffer & )
Defined at line 188 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
RingBuffer & operator= (const RingBuffer & )
Defined at line 189 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
void RingBuffer (RingBuffer && other)
Defined at line 190 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
RingBuffer & operator= (RingBuffer && other)
Defined at line 191 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
void ~RingBuffer ()
Defined at line 192 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
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 205 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 210 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
uint32_t BlockSize ()
Defined at line 211 of file ../../zircon/system/ulib/storage/buffer/include/storage/buffer/ring_buffer.h
zx_status_t Create (VmoidRegistry * vmoid_registry, size_t blocks, uint32_t block_size, const char * label, std::unique_ptr<RingBuffer> * out)
Initializes the buffer with |blocks| blocks of size |block_size|.
Defined at line 256 of file ../../zircon/system/ulib/storage/buffer/ring_buffer.cc