d_engine/storage/
mod.rs

1//! Storage layer for d-engine.
2//!
3//! This module provides pluggable and extensible storage components for
4//! persisting Raft state and application data. It defines core traits,
5//! adapters, and utilities to support different backend implementations.
6//!
7//! Key responsibilities include:
8//! - Managing Raft log entries and snapshots.
9//! - Providing an abstraction layer (`StorageEngine`) for persistence.
10//! - Supporting in-memory buffering and disk-backed storage (e.g., via Sled).
11//! - Coordinating state machine application and snapshot lifecycle.
12//!
13//! This module is designed so developers can easily implement custom
14//! storage backends without changing the Raft protocol logic.
15
16mod adaptors;
17mod buffered;
18mod raft_log;
19mod snapshot_path_manager;
20mod state_machine;
21mod storage_engine;
22
23pub use adaptors::*;
24pub(crate) use buffered::*;
25#[doc(hidden)]
26pub use raft_log::*;
27pub(crate) use snapshot_path_manager::*;
28pub use state_machine::*;
29pub use storage_engine::*;
30
31pub mod state_machine_test;
32pub mod storage_engine_test;