1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! The Raft storage interface and data types.
//!
//! This module defines traits and types for implementing Raft log storage and state machine:
//!
//! ## Core Traits
//!
//! - [`RaftLogStorage`] - Persistent log storage for Raft entries and vote state
//! - [`RaftStateMachine`] - Application state machine that applies committed log entries
//! - [`RaftLogReader`] - Reader interface for accessing stored log entries
//! - [`RaftSnapshotBuilder`] - Builder interface for creating snapshots
//!
//! ## Key Types
//!
//! - [`LogState`] - Current state of log storage (first/last log IDs)
//! - [`Snapshot`] - Container for snapshot data and metadata
//! - [`SnapshotMeta`] - Snapshot metadata (last log ID, membership)
//!
//! ## Usage
//!
//! Applications implement [`RaftLogStorage`] and [`RaftStateMachine`] to provide
//! persistence for Raft. These implementations are passed to [`Raft::new()`](crate::Raft::new)
//! to create a Raft node.
//!
//! See the [Getting Started Guide](crate::docs::getting_started) and
//! [State Machine Component](crate::docs::components::state_machine) documentation
//! for implementation details and examples.
pub
pub use IOFlushed;
pub use LogApplied;
pub use LogFlushed;
pub use StorageHelper;
pub use RaftLogReaderExt;
pub use LogState;
pub use Snapshot;
pub use SnapshotMeta;
pub use SnapshotSignature;
pub use ApplyResponder;
pub use EntryResponder;
pub use LeaderBoundedStreamError;
pub use LeaderBoundedStreamResult;
pub use RaftLogReader;
pub use RaftLogStorage;
pub use RaftLogStorageExt;
pub use RaftSnapshotBuilder;
pub use RaftStateMachine;