Skip to main content

nodedb_raft/node/
mod.rs

1//! Raft single-group state machine.
2//!
3//! Split across files:
4//! - [`config`]: `RaftConfig` (including voter/learner lists).
5//! - [`core`]: `RaftNode` struct, constructors, simple accessors, `tick`,
6//!   `propose`, and the `Ready` output type.
7//! - [`internal`]: Internal state transitions (elections, replication,
8//!   commit advancement) and timeout math.
9//! - [`membership`]: Dynamic configuration changes — add/remove voters,
10//!   add/remove/promote learners.
11//! - [`rpc`]: Incoming RPC handlers (`AppendEntries`, `RequestVote`,
12//!   `InstallSnapshot`, and their response handlers).
13
14pub mod config;
15pub mod core;
16mod internal;
17pub mod membership;
18pub mod rpc;
19
20pub use self::config::RaftConfig;
21pub use self::core::{RaftNode, Ready};