pub struct NodeConfig {Show 15 fields
pub bind_addr: SocketAddr,
pub seeds: Vec<SocketAddr>,
pub cert_path: Option<PathBuf>,
pub key_path: Option<PathBuf>,
pub trusted_cert_paths: Vec<PathBuf>,
pub ping_timeout: Duration,
pub indirect_ping_timeout: Duration,
pub suspect_to_dead_timeout: Duration,
pub gossip_interval: Duration,
pub max_clock_skew: Duration,
pub broadcast_timeout: Duration,
pub send_queue_capacity: usize,
pub fanout: Option<usize>,
pub convergence_rounds: usize,
pub node_id_path: PathBuf,
}Expand description
Configuration for a alopex-chirps node.
Fields§
§bind_addr: SocketAddrAddress to bind for the transport.
seeds: Vec<SocketAddr>A list of seed nodes to connect to for bootstrapping.
cert_path: Option<PathBuf>Path to the TLS certificate file.
key_path: Option<PathBuf>Path to the TLS private key file.
trusted_cert_paths: Vec<PathBuf>DER-encoded TLS trust anchors accepted for peer certificates.
Each node should include the cluster CA certificate or the public certificates of the self-signed peers it is allowed to contact.
ping_timeout: DurationTimeout for a direct ping to a node.
indirect_ping_timeout: DurationTimeout for an indirect ping (via neighbors).
suspect_to_dead_timeout: DurationTimeout after which a suspected node is declared dead.
gossip_interval: DurationInterval for periodic gossip ticks.
max_clock_skew: DurationMaximum accepted future skew for HLC-stamped gossip messages.
broadcast_timeout: DurationTimeout for send/broadcast operations.
send_queue_capacity: usizeMaximum number of in-flight send/broadcast requests.
fanout: Option<usize>Fanout for gossip messages. If None, it’s calculated as max(3, ceil(sqrt(N))).
convergence_rounds: usizeNumber of convergence rounds for gossip.
node_id_path: PathBufPath to the file where the node ID is persisted.
Implementations§
Source§impl NodeConfig
impl NodeConfig
Sourcepub fn validate(&self) -> Result<(), ConfigError>
pub fn validate(&self) -> Result<(), ConfigError>
Validates the configuration.
Trait Implementations§
Source§impl Clone for NodeConfig
impl Clone for NodeConfig
Source§fn clone(&self) -> NodeConfig
fn clone(&self) -> NodeConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more