Struct fmodel_rust::aggregate::EventSourcedAggregate
source · pub struct EventSourcedAggregate<C, S, E, Repository, Decider, Version, Error>where
Repository: EventRepository<C, E, Version, Error>,
Decider: EventComputation<C, S, E>,{ /* private fields */ }Expand description
Event Sourced Aggregate.
It is using a Decider / EventComputation to compute new events based on the current events and the command.
It is using a EventRepository to fetch the current events and to save the new events.
Generic parameters:
C- CommandS- StateE- EventRepository- Event repositoryDecider- Event computationVersion- Version/Offset/Sequence numberError- Error
Implementations§
source§impl<C, S, E, Repository, Decider, Version, Error> EventSourcedAggregate<C, S, E, Repository, Decider, Version, Error>where
Repository: EventRepository<C, E, Version, Error>,
Decider: EventComputation<C, S, E>,
impl<C, S, E, Repository, Decider, Version, Error> EventSourcedAggregate<C, S, E, Repository, Decider, Version, Error>where Repository: EventRepository<C, E, Version, Error>, Decider: EventComputation<C, S, E>,
sourcepub fn new(repository: Repository, decider: Decider) -> Self
pub fn new(repository: Repository, decider: Decider) -> Self
Creates a new instance of EventSourcedAggregate.
Auto Trait Implementations§
impl<C, S, E, Repository, Decider, Version, Error> RefUnwindSafe for EventSourcedAggregate<C, S, E, Repository, Decider, Version, Error>where C: RefUnwindSafe, Decider: RefUnwindSafe, E: RefUnwindSafe, Error: RefUnwindSafe, Repository: RefUnwindSafe, S: RefUnwindSafe, Version: RefUnwindSafe,
impl<C, S, E, Repository, Decider, Version, Error> Send for EventSourcedAggregate<C, S, E, Repository, Decider, Version, Error>where C: Send, Decider: Send, E: Send, Error: Send, Repository: Send, S: Send, Version: Send,
impl<C, S, E, Repository, Decider, Version, Error> Sync for EventSourcedAggregate<C, S, E, Repository, Decider, Version, Error>where C: Sync, Decider: Sync, E: Sync, Error: Sync, Repository: Sync, S: Sync, Version: Sync,
impl<C, S, E, Repository, Decider, Version, Error> Unpin for EventSourcedAggregate<C, S, E, Repository, Decider, Version, Error>where C: Unpin, Decider: Unpin, E: Unpin, Error: Unpin, Repository: Unpin, S: Unpin, Version: Unpin,
impl<C, S, E, Repository, Decider, Version, Error> UnwindSafe for EventSourcedAggregate<C, S, E, Repository, Decider, Version, Error>where C: UnwindSafe, Decider: UnwindSafe, E: UnwindSafe, Error: UnwindSafe, Repository: UnwindSafe, S: UnwindSafe, Version: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more