Struct rb::Consumer [] [src]

pub struct Consumer<T> { /* fields omitted */ }

Consumer view into the ring buffer.

Trait Implementations

impl<T: Clone + Copy> RbConsumer<T> for Consumer<T>
[src]

[src]

Skips all pending values. Technically it sets the consumer's read pointer to the position of the producer's write pointer. Read more

[src]

Skips cnt number of elements. Read more

[src]

Fills the given slice with values or, if the buffer is empty, does not modify it. This method does not change the state of the buffer, this means that the read pointer isn't changed if you call get. Consecutive calls to this method are idempotent, i.e. they will fill the given slice with the same data. Using get can be beneficial to read when a successive call has failed and you want to try again with same data. You can use skip to move the read pointer i.e. mark the values as read after the call succeeded. Read more

[src]

Fills the given slice with values or, if the buffer is empty, does not modify it. Returns the number of written values or an error. Read more

[src]

Works analog to read but blocks until it can read elements to fill the given buffer slice. The number of blocks read is not necessarily equal to the length of the given buffer slice, the exact number is returned in the Option value. Read more

Auto Trait Implementations

impl<T> Send for Consumer<T> where
    T: Send

impl<T> Sync for Consumer<T> where
    T: Send