1pub mod encryption;
30pub mod error;
31pub mod failover;
32pub mod heartbeat;
33pub mod log;
34pub mod metrics;
35pub mod node;
36pub mod persistence;
37pub mod rpc;
38pub mod snapshot;
39pub mod state;
40pub mod types;
41pub mod wal;
42pub use encryption::{EncryptedPayload, EntryEncryptor, LogEncryptionKey, LogIntegrityVerifier};
44pub use error::{RaftError, RaftResult};
45pub use failover::{FailoverConfig, FailoverCoordinator, FailoverEvent};
46pub use heartbeat::FailureDetector;
47pub use log::{ApplyResult, Command, LogEntry, RaftLog, SnapshotData, StateMachine};
48pub use metrics::ClusterMetrics;
49pub use node::RaftNode;
50pub use persistence::{FilePersistence, MemoryPersistence, RaftPersistence};
51pub use rpc::{
52 AppendEntriesRequest, AppendEntriesResponse, RequestVoteRequest, RequestVoteResponse,
53};
54pub use snapshot::{
55 DiskSnapshotStore, InstallSnapshotRequest, InstallSnapshotResponse, Snapshot, SnapshotConfig,
56 SnapshotManager, SnapshotMetadata, SnapshotPolicy, SnapshotReceiver, SnapshotStore,
57};
58pub use state::{CandidateState, FencingTokenState, LeaderState, PersistentState, VolatileState};
59pub use types::{
60 ClusterConfig, ConfigState, FailureEvent, FencingToken, HeartbeatConfig, LogIndex,
61 MembershipChange, NodeId, NodeState, RaftConfig, Term,
62};
63pub use wal::{CorruptionPolicy, SyncMode, WalDiagnostics, WalReader, WalWriter};
64
65pub const VERSION: &str = env!("CARGO_PKG_VERSION");
67
68pub const NAME: &str = env!("CARGO_PKG_NAME");