[][src]Trait futures_intrusive::buffer::RingBuf

pub trait RingBuf {
    type Item;
    fn new() -> Self;
fn with_capacity(cap: usize) -> Self;
fn capacity(&self) -> usize;
fn len(&self) -> usize;
fn can_push(&self) -> bool;
fn push(&mut self, item: Self::Item);
fn pop(&mut self) -> Self::Item; fn is_empty(&self) -> bool { ... } }

A Ring Buffer of items

Associated Types

type Item

The type of stored items inside the Ring Buffer

Loading content...

Required methods

fn new() -> Self

Creates a new instance of the Ring Buffer

fn with_capacity(cap: usize) -> Self

Creates a new instance of the Ring Buffer with the given capacity. RingBuf implementations are allowed to ignore the capacity hint and utilize their default capacity.

fn capacity(&self) -> usize

The capacity of the buffer

fn len(&self) -> usize

The amount of stored items in the buffer

fn can_push(&self) -> bool

Returns true if there is enough space in the buffer to store another item.

fn push(&mut self, item: Self::Item)

Stores the item at the end of the buffer. Panics if there is not enough free space.

fn pop(&mut self) -> Self::Item

Returns the oldest item inside the buffer. Panics if there is no available item.

Loading content...

Provided methods

fn is_empty(&self) -> bool

Returns true if no item is stored inside the buffer.

Loading content...

Implementors

impl<T> RingBuf for FixedHeapBuf<T>[src]

type Item = T

impl<T> RingBuf for GrowingHeapBuf<T>[src]

type Item = T

impl<T, A> RingBuf for ArrayBuf<T, A> where
    A: AsMut<[T]> + AsRef<[T]> + RealArray<T>, 
[src]

type Item = T

Loading content...