[][src]Struct spsc_bip_buffer::BipBufferReader

pub struct BipBufferReader { /* fields omitted */ }

Represents the receive side of the single-producer single-consumer circular buffer.

BipBufferReader is Send so you can move it to the receiver thread.

Methods

impl BipBufferReader[src]

pub fn valid(&mut self) -> &mut [u8][src]

Returns a mutable reference to a slice that contains the data written by the writer and not yet consumed by the reader. This is the receiving end of the circular buffer.

The caller is free to mutate the data in this slice.

pub fn consume(&mut self, len: usize) -> bool[src]

Consumes the first len bytes in valid. This marks them as read and they won't be included in the slice returned by the next invocation of valid. This is used to communicate the reader's progress and free buffer space for future writes.

pub fn try_unwrap<B: DerefMut<Target = [u8]> + 'static>(self) -> Result<B, Self>[src]

Attempts to recover the underlying storage. B must be the type of the storage passed to bip_buffer_from. If the BipBufferWriter side still exists, this will fail and return Err(self). If the BipBufferWriter side was dropped, this will return the underlying storage.

Panic

Panics if B is not the type of the underlying storage.

Trait Implementations

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]