pub struct ConsensusConfig {
pub algorithm: ConsensusAlgorithm,
pub quorum_size: usize,
pub election_timeout_ms: u64,
pub heartbeat_interval_ms: u64,
pub max_entries_per_append: usize,
pub log_compaction_threshold: usize,
pub snapshot_interval: Duration,
pub byzantine_threshold: usize,
pub enable_optimization: bool,
pub consensus_timeout_ms: u64,
}Expand description
Consensus algorithm configuration
Fields§
§algorithm: ConsensusAlgorithmAlgorithm to use
quorum_size: usizeMinimum number of nodes for quorum
election_timeout_ms: u64Election timeout (milliseconds)
heartbeat_interval_ms: u64Heartbeat interval (milliseconds)
max_entries_per_append: usizeMaximum entries per append
log_compaction_threshold: usizeLog compaction threshold
snapshot_interval: DurationSnapshot creation interval
byzantine_threshold: usizeByzantine fault tolerance threshold
enable_optimization: boolEnable consensus optimization
consensus_timeout_ms: u64Consensus timeout (milliseconds)
Trait Implementations§
Source§impl Clone for ConsensusConfig
impl Clone for ConsensusConfig
Source§fn clone(&self) -> ConsensusConfig
fn clone(&self) -> ConsensusConfig
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 ConsensusConfig
impl Debug for ConsensusConfig
Source§impl Default for ConsensusConfig
impl Default for ConsensusConfig
Source§impl<'de> Deserialize<'de> for ConsensusConfig
impl<'de> Deserialize<'de> for ConsensusConfig
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 ConsensusConfig
impl RefUnwindSafe for ConsensusConfig
impl Send for ConsensusConfig
impl Sync for ConsensusConfig
impl Unpin for ConsensusConfig
impl UnwindSafe for ConsensusConfig
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> 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> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
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.