Struct ringbuf::ring_buffer::RbWriteCache
source · pub struct RbWriteCache<T, R: RbRef>where
R::Rb: RbWrite<T>,{ /* private fields */ }
Expand description
Caching write end of some ring buffer.
Inserted items is not visible for an opposite write end until Self::commit
/Self::sync
is called or Self
is dropped.
A free space of items removed by an opposite write end is not visible for Self
until Self::sync
is called.
Used to implement PostponedConsumer
.
Implementations§
Trait Implementations§
source§impl<T, R: RbRef> RbBase<T> for RbWriteCache<T, R>where
R::Rb: RbWrite<T>,
impl<T, R: RbRef> RbBase<T> for RbWriteCache<T, R>where R::Rb: RbWrite<T>,
source§unsafe fn slices(
&self,
head: usize,
tail: usize
) -> (&mut [MaybeUninit<T>], &mut [MaybeUninit<T>])
unsafe fn slices( &self, head: usize, tail: usize ) -> (&mut [MaybeUninit<T>], &mut [MaybeUninit<T>])
Returns part of underlying raw ring buffer memory as slices. Read more
source§fn capacity_nonzero(&self) -> NonZeroUsize
fn capacity_nonzero(&self) -> NonZeroUsize
Capacity of the ring buffer. Read more
source§fn modulus(&self) -> NonZeroUsize
fn modulus(&self) -> NonZeroUsize
source§fn occupied_len(&self) -> usize
fn occupied_len(&self) -> usize
The number of items stored in the buffer at the moment.
source§fn vacant_len(&self) -> usize
fn vacant_len(&self) -> usize
The number of vacant places in the buffer at the moment.
source§impl<T, R: RbRef> RbWrite<T> for RbWriteCache<T, R>where
R::Rb: RbWrite<T>,
impl<T, R: RbRef> RbWrite<T> for RbWriteCache<T, R>where R::Rb: RbWrite<T>,
source§unsafe fn advance_tail(&self, count: usize)
unsafe fn advance_tail(&self, count: usize)
Move tail position by
count
items forward. Read moresource§fn vacant_ranges(&self) -> (Range<usize>, Range<usize>)
fn vacant_ranges(&self) -> (Range<usize>, Range<usize>)
Returns a pair of ranges of
Self::vacant_slices
location in underlying container.source§unsafe fn vacant_slices(&self) -> (&mut [MaybeUninit<T>], &mut [MaybeUninit<T>])
unsafe fn vacant_slices(&self) -> (&mut [MaybeUninit<T>], &mut [MaybeUninit<T>])
Provides a direct access to the ring buffer vacant memory.
Returns a pair of slices of uninitialized memory, the second one may be empty. Read more