Expand description
Axiom Core: Traits and types for the axiom storage subsystem
This crate defines the core abstractions for a TEE-safe, high-performance storage layer with:
- Canonical store (LMDB): Transactional KV + append-only event log
- Projection store (SQLite): Queryable SQL tables derived from events
- Projector: Consumes events and updates SQL projections
- Backup/restore: Deterministic snapshotting with manifest
Key features:
- Three-phase transactions: Async preflight → Fast sync commit → Async projection
- Stripe locking: Parallel preflight validation for non-conflicting keys
- Pausable ingestion: Safe backups with no partial state
- Deterministic replay: Any projection can be rebuilt from events
Re-exports§
pub use config::CanonicalConfig;pub use config::ProjectionConfig;pub use config::ProjectorConfig;pub use error::AzothError;pub use error::Result;pub use event_log::EventLog;pub use event_log::EventLogIterator;pub use event_log::EventLogStats;pub use lock_manager::LockManager;pub use traits::CanonicalStore;pub use traits::CanonicalTxn;pub use traits::DecodedEvent;pub use traits::EventApplier;pub use traits::EventDecoder;pub use traits::EventIter;pub use traits::PreflightResult;pub use traits::ProjectionStore;pub use traits::ProjectionTxn;pub use types::BackupInfo;pub use types::BackupManifest;pub use types::CanonicalMeta;pub use types::CommitInfo;pub use types::EventBytes;pub use types::EventId;