pub trait Streamer<StreamId, Event>: Send + Sync
where StreamId: Send + Sync, Event: Message + Send + Sync,
{ type Error: Send + Sync; // Required method fn stream( &self, id: &StreamId, select: VersionSelect ) -> Stream<'_, StreamId, Event, Self::Error>; }
Expand description

Interface used to stream Persisted Domain Events from an Event Store to an application.

Required Associated Types§

source

type Error: Send + Sync

The error type returned by the Store during a [stream] call.

Required Methods§

source

fn stream( &self, id: &StreamId, select: VersionSelect ) -> Stream<'_, StreamId, Event, Self::Error>

Opens an Event Stream, effectively streaming all Domain Events of an Event Stream back in the application.

Implementors§

source§

impl<Id, Evt> Streamer<Id, Evt> for InMemory<Id, Evt>
where Id: Clone + Eq + Hash + Send + Sync, Evt: Message + Clone + Send + Sync,

source§

impl<T, StreamId, Event> Streamer<StreamId, Event> for InstrumentedEventStore<T, StreamId, Event>
where T: Store<StreamId, Event> + Send + Sync, StreamId: Debug + Send + Sync, Event: Message + Debug + Send + Sync,

§

type Error = <T as Streamer<StreamId, Event>>::Error

source§

impl<T, StreamId, Event> Streamer<StreamId, Event> for Tracking<T, StreamId, Event>
where T: Store<StreamId, Event> + Send + Sync, StreamId: Clone + Send + Sync, Event: Message + Clone + Send + Sync,

§

type Error = <T as Streamer<StreamId, Event>>::Error