Struct shrev::EventChannel
[−]
[src]
pub struct EventChannel<E> { /* fields omitted */ }
Event channel
Methods
impl<E> EventChannel<E> where
E: Event,
[src]
E: Event,
fn new() -> Self
[src]
Create a new EventChannel with a default size of 200
fn with_capacity(size: usize) -> Self
[src]
Create a new EventChannel with the given starting capacity.
fn register_reader(&mut self) -> ReaderId<E>
[src]
Register a reader.
To be able to read events, a reader id is required. This is because otherwise the channel wouldn't know where in the ringbuffer the reader has read to earlier. This information is stored in the reader id.
fn slice_write(&mut self, events: &[E]) where
E: Clone,
[src]
E: Clone,
Deprecated
: please use iter_write
instead
Write a slice of events into storage
fn iter_write<I>(&mut self, iter: I) where
I: IntoIterator<Item = E>,
[src]
I: IntoIterator<Item = E>,
Write an iterator of events into storage
fn drain_vec_write(&mut self, events: &mut Vec<E>)
[src]
Drain a vector of events into storage.
fn single_write(&mut self, event: E)
[src]
Write a single event into storage.
fn read(&self, reader_id: &mut ReaderId<E>) -> EventIterator<E>
[src]
Read any events that have been written to storage since the readers last read.