From 4250d9843133d38c7ace1a1b510265a15ebaa0fd Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 30 Oct 2026 15:10:29 +0100 Subject: add dormant-probe-max option --- src/config/mod.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/config') diff --git a/src/config/mod.rs b/src/config/mod.rs index 85d71d2..99690ae 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -228,6 +228,13 @@ pub(crate) const OPTIONS: &[OptionSpec] = &[ Some("1m"), "Keepalive interval; dormancy, resync and probe timings derive from it.", ), + option( + "dormant-probe-max", + Kind::Duration, + "DURATION", + None, + "Longest wait between HELLOs to a member that doesn't answer (dormant, or unanswered HELLOs): they start at 10 keepalives and double up to this. It bounds how long a returning member, or the other side of a partition, takes to be noticed. Default: 60 keepalives (1h at 1m). Shorter than 10 keepalives, it is every wait.", + ), option( "neighbours", Kind::Integer, @@ -443,6 +450,12 @@ pub(crate) struct Settings { pub(crate) alias: Option, #[serde(default = "default_keepalive", with = "crate::units::duration_option")] pub(crate) keepalive: Duration, + #[serde( + default, + deserialize_with = "crate::units::optional_duration", + serialize_with = "crate::units::serialize_optional_duration" + )] + pub(crate) dormant_probe_max: Option, #[serde(default = "default_neighbours")] pub(crate) neighbours: usize, #[serde( -- cgit v1.3.1