diff options
| author | tv <tv@krebsco.de> | 2026-10-30 15:10:29 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-30 15:10:29 +0100 |
| commit | e96d88715cdff7b62cc7976902337dce0ffd7ffa (patch) | |
| tree | b46cf2f54a58691f5946e1b795137c27dbff528a /src/config | |
| parent | f597c9178764a6208f72108771d061e3a437de51 (diff) | |
add dormant-probe-max option
Diffstat (limited to 'src/config')
| -rw-r--r-- | src/config/mod.rs | 13 |
1 files changed, 13 insertions, 0 deletions
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 @@ -229,6 +229,13 @@ pub(crate) const OPTIONS: &[OptionSpec] = &[ "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, "COUNT", @@ -443,6 +450,12 @@ pub(crate) struct Settings { pub(crate) alias: Option<String>, #[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<Duration>, #[serde(default = "default_neighbours")] pub(crate) neighbours: usize, #[serde( |
