lib.rs (1352B)
1 #![doc = include_str!("../README.md")] 2 #![forbid(unsafe_code)] 3 4 pub mod atomic; 5 pub mod authored; 6 pub mod authored_atomic; 7 pub mod authored_delivery; 8 pub mod authored_draft; 9 pub mod authored_draft_pair; 10 pub mod authored_draft_query; 11 pub mod authored_draft_submission; 12 pub mod backup; 13 mod error; 14 pub mod event; 15 pub mod journal; 16 #[cfg(feature = "memory")] 17 pub mod memory; 18 pub mod outbox; 19 pub mod private_artifact; 20 pub mod projection; 21 pub mod status; 22 23 pub use backup::StorageReliability as BackupSource; 24 pub use error::Error; 25 pub use event::EventStore; 26 pub use journal::Journal; 27 pub use outbox::Outbox; 28 pub use projection::ProjectionStore; 29 pub use status::StorageStatus; 30 31 /// Complete backend-neutral storage capability implemented by concrete stores. 32 pub trait Storage: 33 EventStore 34 + Journal 35 + Outbox 36 + ProjectionStore 37 + private_artifact::PrivateArtifactStore 38 + backup::StorageReliability 39 + atomic::AtomicStorage 40 + authored_atomic::AuthoredAtomicStorage 41 + authored_draft::AuthoredDraftStore 42 { 43 } 44 45 impl<T> Storage for T where 46 T: EventStore 47 + Journal 48 + Outbox 49 + ProjectionStore 50 + private_artifact::PrivateArtifactStore 51 + backup::StorageReliability 52 + atomic::AtomicStorage 53 + authored_atomic::AuthoredAtomicStorage 54 + authored_draft::AuthoredDraftStore 55 { 56 }