Struct akka_persistence_rs::effect::ThenReply
source · pub struct ThenReply<B, F, R, T> { /* private fields */ }Expand description
The return type of EffectExt::and_then_reply.
Trait Implementations§
source§impl<B, F, R, T> Effect<B> for ThenReply<B, F, R, T>where
B: EventSourcedBehavior + Send + Sync + 'static,
B::State: Send + Sync,
F: FnOnce(&B, Option<&B::State>, Result) -> R + Send,
R: Future<Output = Result<Option<(Sender<T>, T)>, Error>> + Send,
T: Send,
impl<B, F, R, T> Effect<B> for ThenReply<B, F, R, T>where B: EventSourcedBehavior + Send + Sync + 'static, B::State: Send + Sync, F: FnOnce(&B, Option<&B::State>, Result) -> R + Send, R: Future<Output = Result<Option<(Sender<T>, T)>, Error>> + Send, T: Send,
source§fn process<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 mut self,
behavior: &'life1 B,
handler: &'life2 mut (dyn Handler<B::Event> + Send),
entities: &'life3 mut (dyn EntityOps<B> + Send + Sync),
entity_id: &'life4 EntityId,
last_seq_nr: &'life5 mut u64,
prev_result: Result
) -> Pin<Box<dyn Future<Output = Result> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
fn process<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>( &'life0 mut self, behavior: &'life1 B, handler: &'life2 mut (dyn Handler<B::Event> + Send), entities: &'life3 mut (dyn EntityOps<B> + Send + Sync), entity_id: &'life4 EntityId, last_seq_nr: &'life5 mut u64, prev_result: Result ) -> Pin<Box<dyn Future<Output = Result> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait, 'life5: 'async_trait,
Consume the effect asynchronously. This operation may
be performed multiple times, but only the first time
is expected to perform the effect.
source§impl<B, F, R, T> EffectExt<B> for ThenReply<B, F, R, T>where
B: EventSourcedBehavior + Send + Sync + 'static,
B::State: Send + Sync,
F: FnOnce(&B, Option<&B::State>, Result) -> R + Send,
R: Future<Output = Result<Option<(Sender<T>, T)>, Error>> + Send,
T: Send,
impl<B, F, R, T> EffectExt<B> for ThenReply<B, F, R, T>where B: EventSourcedBehavior + Send + Sync + 'static, B::State: Send + Sync, F: FnOnce(&B, Option<&B::State>, Result) -> R + Send, R: Future<Output = Result<Option<(Sender<T>, T)>, Error>> + Send, T: Send,
source§fn and<R>(self, r: R) -> And<B, Self, R>where
Self: Sized,
R: Effect<B>,
fn and<R>(self, r: R) -> And<B, Self, R>where Self: Sized, R: Effect<B>,
Perform the provided effect after this current one.
source§fn and_then<F, R>(self, f: F) -> And<B, Self, Then<B, F, R>>where
Self: Sized,
B::State: Send + Sync,
F: FnOnce(&B, Option<&B::State>, Result) -> R + Send,
R: Future<Output = Result>,
fn and_then<F, R>(self, f: F) -> And<B, Self, Then<B, F, R>>where Self: Sized, B::State: Send + Sync, F: FnOnce(&B, Option<&B::State>, Result) -> R + Send, R: Future<Output = Result>,
Perform a side effect to run a function asynchronously after this current one.
The associated behavior is available so that communication channels, for
example, can be accessed by the side-effect. Additionally, the
latest state given any previous effect having emitted an event,
or else the state at the outset of the effects being applied,
is also available.
source§fn and_then_emit_event<F, R>(self, f: F) -> And<B, Self, ThenEmitEvent<B, F, R>>where
Self: Sized,
B::State: Send + Sync,
F: FnOnce(&B, Option<&B::State>, Result) -> R + Send,
R: Future<Output = StdResult<Option<B::Event>, Error>> + Send,
fn and_then_emit_event<F, R>(self, f: F) -> And<B, Self, ThenEmitEvent<B, F, R>>where Self: Sized, B::State: Send + Sync, F: FnOnce(&B, Option<&B::State>, Result) -> R + Send, R: Future<Output = StdResult<Option<B::Event>, Error>> + Send,
An effect to emit an event. The latest state given any previous effect
having emitted an event, or else the state at the outset of the effects
being applied, is also available.
source§fn and_then_emit_deletion_event<F, R>(
self,
f: F
) -> And<B, Self, ThenEmitEvent<B, F, R>>where
Self: Sized,
B::State: Send + Sync,
F: FnOnce(&B, Option<&B::State>, Result) -> R + Send,
R: Future<Output = StdResult<Option<B::Event>, Error>> + Send,
fn and_then_emit_deletion_event<F, R>( self, f: F ) -> And<B, Self, ThenEmitEvent<B, F, R>>where Self: Sized, B::State: Send + Sync, F: FnOnce(&B, Option<&B::State>, Result) -> R + Send, R: Future<Output = StdResult<Option<B::Event>, Error>> + Send,
An effect to emit a deletion event. The latest state given any previous effect
having emitted an event, or else the state at the outset of the effects
being applied, is also available.
source§fn and_then_reply<F, R, T>(self, f: F) -> And<B, Self, ThenReply<B, F, R, T>>where
Self: Sized,
B::State: Send + Sync,
F: FnOnce(&B, Option<&B::State>, Result) -> R + Send,
R: Future<Output = StdResult<Option<(Sender<T>, T)>, Error>> + Send,
T: Send,
fn and_then_reply<F, R, T>(self, f: F) -> And<B, Self, ThenReply<B, F, R, T>>where Self: Sized, B::State: Send + Sync, F: FnOnce(&B, Option<&B::State>, Result) -> R + Send, R: Future<Output = StdResult<Option<(Sender<T>, T)>, Error>> + Send, T: Send,
An effect to reply an envelope. The latest state given any previous effect
having emitted an event, or else the state at the outset of the effects
being applied, is also available.
Auto Trait Implementations§
impl<B, F, R, T> RefUnwindSafe for ThenReply<B, F, R, T>where B: RefUnwindSafe, F: RefUnwindSafe, R: RefUnwindSafe, T: RefUnwindSafe,
impl<B, F, R, T> Send for ThenReply<B, F, R, T>where B: Send, F: Send, R: Send, T: Send,
impl<B, F, R, T> Sync for ThenReply<B, F, R, T>where B: Sync, F: Sync, R: Sync, T: Sync,
impl<B, F, R, T> Unpin for ThenReply<B, F, R, T>where B: Unpin, F: Unpin, R: Unpin, T: Unpin,
impl<B, F, R, T> UnwindSafe for ThenReply<B, F, R, T>where B: UnwindSafe, F: UnwindSafe, R: UnwindSafe, T: 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