1#![allow(deprecated)]
2
3pub mod axon;
4pub mod cluster;
5pub mod distributed;
6pub mod persistence;
7pub mod replay;
8pub mod testkit;
9
10pub mod prelude {
11 pub use crate::axon::{Axon, BoxFuture, ExecutionMode, SchematicExportRequest};
12 pub use crate::{InfallibleAxon, SimpleAxon, TypedAxon};
13 pub use crate::cluster::{ClusterManager, LeaderElection, LockBasedElection};
14 pub use crate::distributed::{
15 DistributedError, DistributedLock, DistributedStore, Guard, LockOptions,
16 };
17 pub use crate::persistence::{
18 CompensationAutoTrigger, CompensationContext, CompensationHandle, CompensationHook,
19 CompensationIdempotencyHandle, CompensationIdempotencyStore, CompensationRetryPolicy,
20 CompletionState, InMemoryCompensationIdempotencyStore, InMemoryPersistenceStore,
21 PersistedTrace, PersistenceAutoComplete, PersistenceEnvelope, PersistenceHandle,
22 PersistenceStore, PersistenceTraceId, ResumeCursor,
23 };
24 #[cfg(feature = "persistence-postgres")]
25 pub use crate::persistence::{PostgresCompensationIdempotencyStore, PostgresPersistenceStore};
26 #[cfg(feature = "persistence-redis")]
27 pub use crate::persistence::{RedisCompensationIdempotencyStore, RedisPersistenceStore};
28 pub use crate::replay::ReplayEngine;
29 pub use crate::testkit::AxonTestKit;
30}
31
32pub type SimpleAxon<In, Out, Res = ()> = Axon<In, Out, String, Res>;
34
35pub type TypedAxon<In, Out, Res = ()> = Axon<In, Out, ranvier_core::error::RanvierError, Res>;
37
38pub type InfallibleAxon<In, Out, Res = ()> = Axon<In, Out, std::convert::Infallible, Res>;
40
41pub use axon::{Axon, SchematicExportRequest};
42pub use cluster::{ClusterManager, LeaderElection, LockBasedElection};
43pub use distributed::{DistributedError, DistributedLock, DistributedStore, Guard, LockOptions};
44pub use persistence::{
45 CompensationAutoTrigger, CompensationContext, CompensationHandle, CompensationHook,
46 CompensationIdempotencyHandle, CompensationIdempotencyStore, CompensationRetryPolicy,
47 CompletionState, InMemoryCompensationIdempotencyStore, InMemoryPersistenceStore,
48 PersistedTrace, PersistenceAutoComplete, PersistenceEnvelope, PersistenceHandle,
49 PersistenceStore, PersistenceTraceId, ResumeCursor,
50};
51#[cfg(feature = "persistence-postgres")]
52pub use persistence::{PostgresCompensationIdempotencyStore, PostgresPersistenceStore};
53#[cfg(feature = "persistence-redis")]
54pub use persistence::{RedisCompensationIdempotencyStore, RedisPersistenceStore};
55pub use replay::ReplayEngine;
56pub use testkit::AxonTestKit;