pub struct GossipConfig {Show 13 fields
pub protocol_period_ms: u64,
pub fanout: usize,
pub ping_timeout_ms: u64,
pub indirect_probes: usize,
pub indirect_ping_timeout_ms: u64,
pub suspicion_mult: u32,
pub min_suspicion_timeout_ms: u64,
pub rejoin_interval_rounds: u64,
pub dead_node_gc_timeout_ms: u64,
pub max_gossip_messages: usize,
pub gossip_port: u16,
pub max_packet_size: usize,
pub seed_nodes: Vec<String>,
}Expand description
Configuration for the gossip protocol
Fields§
§protocol_period_ms: u64Interval between protocol rounds in milliseconds
fanout: usizeNumber of nodes to probe per round
ping_timeout_ms: u64Timeout for ping responses in milliseconds
indirect_probes: usizeNumber of indirect probes when direct ping fails
indirect_ping_timeout_ms: u64Timeout for indirect ping responses
suspicion_mult: u32Suspicion timeout multiplier (suspicion_timeout = suspicion_mult * protocol_period * log(n+1))
min_suspicion_timeout_ms: u64Minimum suspicion timeout in milliseconds (floor to prevent premature death in small clusters)
rejoin_interval_rounds: u64Interval (in protocol rounds) between periodic seed re-join attempts
dead_node_gc_timeout_ms: u64Maximum time a Dead node stays in the member list before garbage collection (ms)
max_gossip_messages: usizeMaximum number of messages to piggyback per packet
gossip_port: u16UDP port for gossip communication
max_packet_size: usizeMaximum packet size in bytes
seed_nodes: Vec<String>Seed nodes for initial cluster discovery
Trait Implementations§
Source§impl Clone for GossipConfig
impl Clone for GossipConfig
Source§fn clone(&self) -> GossipConfig
fn clone(&self) -> GossipConfig
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 GossipConfig
impl Debug for GossipConfig
Source§impl Default for GossipConfig
impl Default for GossipConfig
Source§impl<'de> Deserialize<'de> for GossipConfig
impl<'de> Deserialize<'de> for GossipConfig
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 GossipConfig
impl RefUnwindSafe for GossipConfig
impl Send for GossipConfig
impl Sync for GossipConfig
impl Unpin for GossipConfig
impl UnsafeUnpin for GossipConfig
impl UnwindSafe for GossipConfig
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 more