aboutsummaryrefslogtreecommitdiffstats
path: root/src/config/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/mod.rs')
-rw-r--r--src/config/mod.rs13
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(