Skip to main content

BufferStore

Trait BufferStore 

Source
pub trait BufferStore {
    type Error: Error + Send + Sync + 'static;

    // Required methods
    fn push(&mut self, entry: BufferedEntry) -> Result<(), Self::Error>;
    fn entries(&self) -> Result<Vec<BufferedEntry>, Self::Error>;
    fn drop_oldest(&mut self, n: usize) -> Result<(), Self::Error>;
    fn clear(&mut self) -> Result<(), Self::Error>;
    fn len(&self) -> Result<usize, Self::Error>;

    // Provided method
    fn is_empty(&self) -> Result<bool, Self::Error> { ... }
}
Expand description

Pluggable persistent / volatile storage for OfflineBuffer.

Required Associated Types§

Source

type Error: Error + Send + Sync + 'static

Required Methods§

Source

fn push(&mut self, entry: BufferedEntry) -> Result<(), Self::Error>

Append an entry to the back of the buffer.

Source

fn entries(&self) -> Result<Vec<BufferedEntry>, Self::Error>

Return all entries in insertion order.

Source

fn drop_oldest(&mut self, n: usize) -> Result<(), Self::Error>

Remove the oldest n entries. If n >= len the buffer is emptied.

Source

fn clear(&mut self) -> Result<(), Self::Error>

Remove every entry.

Source

fn len(&self) -> Result<usize, Self::Error>

Return the current number of buffered entries.

Provided Methods§

Source

fn is_empty(&self) -> Result<bool, Self::Error>

Return true when there are no buffered entries.

Implementors§