pub struct RaftConfig {
pub node_id: NodeId,
pub cluster_nodes: Vec<NodeId>,
pub heartbeat_interval_ms: u64,
pub election_timeout_min_ms: u64,
pub election_timeout_max_ms: u64,
pub max_entries_per_batch: usize,
pub enable_snapshots: bool,
pub snapshot_threshold: usize,
pub max_rpc_retries: usize,
}Expand description
Raft node configuration
Fields§
§node_id: NodeIdThis node’s ID
cluster_nodes: Vec<NodeId>All node IDs in the cluster (including self)
heartbeat_interval_ms: u64Heartbeat interval in milliseconds
election_timeout_min_ms: u64Election timeout range (min, max) in milliseconds
election_timeout_max_ms: u64§max_entries_per_batch: usizeMaximum log entries per AppendEntries batch
enable_snapshots: boolEnable log compaction via snapshotting
snapshot_threshold: usizeSnapshot threshold (entries before snapshot)
max_rpc_retries: usizeMaximum retries for failed RPCs
Implementations§
Source§impl RaftConfig
impl RaftConfig
Sourcepub fn single_node(node_id: NodeId) -> Self
pub fn single_node(node_id: NodeId) -> Self
Create a single-node cluster configuration (useful for testing)
Sourcepub fn three_node_cluster(node_id: NodeId) -> Self
pub fn three_node_cluster(node_id: NodeId) -> Self
Create a three-node cluster configuration
Sourcepub fn quorum_size(&self) -> usize
pub fn quorum_size(&self) -> usize
Get the quorum size (majority)
Trait Implementations§
Source§impl Clone for RaftConfig
impl Clone for RaftConfig
Source§fn clone(&self) -> RaftConfig
fn clone(&self) -> RaftConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RaftConfig
impl Debug for RaftConfig
Source§impl Default for RaftConfig
impl Default for RaftConfig
Source§impl<'de> Deserialize<'de> for RaftConfig
impl<'de> Deserialize<'de> for RaftConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RaftConfig
impl RefUnwindSafe for RaftConfig
impl Send for RaftConfig
impl Sync for RaftConfig
impl Unpin for RaftConfig
impl UnsafeUnpin for RaftConfig
impl UnwindSafe for RaftConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.