Trait akka_persistence_rs::effect::EffectExt
source · pub trait EffectExt<B>: Effect<B>{
// Provided methods
fn and<R>(self, r: R) -> And<B, Self, R>
where Self: Sized,
R: Effect<B> { ... }
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 then_persist_event<F>(
self,
f: F
) -> And<B, Self, ThenPersistEvent<B, Box<dyn FnOnce(&B, Option<&B::State>, Result) -> Ready<StdResult<Option<B::Event>, Error>> + Send>, Ready<StdResult<Option<B::Event>, Error>>>>
where Self: Sized,
B::State: Send + Sync,
F: FnOnce(Option<&B::State>) -> Option<B::Event> + Send + 'static { ... }
fn then_reply<F, T>(
self,
f: F
) -> And<B, Self, ThenReply<B, Box<dyn FnOnce(&B, Option<&B::State>, Result) -> Ready<ReplyResult<T>> + Send>, Ready<ReplyResult<T>>, T>>
where Self: Sized,
B::State: Send + Sync,
F: FnOnce(Option<&B::State>) -> Option<ReplyTo<T>> + Send + 'static,
T: Send { ... }
fn boxed(self) -> Box<dyn Effect<B>>
where Self: Sized + 'static { ... }
}Expand description
Combinators for use with effects.
Provided Methods§
sourcefn and_then<F, R>(self, f: F) -> And<B, Self, Then<B, F, R>>
fn and_then<F, R>(self, f: F) -> And<B, Self, Then<B, F, R>>
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 persisted an event, or else the state at the outset of the effects being applied, is also available.
sourcefn then_persist_event<F>(
self,
f: F
) -> And<B, Self, ThenPersistEvent<B, Box<dyn FnOnce(&B, Option<&B::State>, Result) -> Ready<StdResult<Option<B::Event>, Error>> + Send>, Ready<StdResult<Option<B::Event>, Error>>>>
fn then_persist_event<F>( self, f: F ) -> And<B, Self, ThenPersistEvent<B, Box<dyn FnOnce(&B, Option<&B::State>, Result) -> Ready<StdResult<Option<B::Event>, Error>> + Send>, Ready<StdResult<Option<B::Event>, Error>>>>
An effect to persist an event. The latest state given any previous effect having persisted an event, or else the state at the outset of the effects being applied, is also available.
Only applied when the previous result succeeded.
sourcefn then_reply<F, T>(
self,
f: F
) -> And<B, Self, ThenReply<B, Box<dyn FnOnce(&B, Option<&B::State>, Result) -> Ready<ReplyResult<T>> + Send>, Ready<ReplyResult<T>>, T>>
fn then_reply<F, T>( self, f: F ) -> And<B, Self, ThenReply<B, Box<dyn FnOnce(&B, Option<&B::State>, Result) -> Ready<ReplyResult<T>> + Send>, Ready<ReplyResult<T>>, T>>
An effect to reply an envelope. The latest state given any previous effect having persisted an event, or else the state at the outset of the effects being applied, is also available.
Only applied when the previous result succeeded.