pub struct TreeConfig {
pub announce_min_interval_ms: u64,
pub parent_hysteresis: f64,
pub hold_down_secs: u64,
pub reeval_interval_secs: u64,
pub flap_threshold: u32,
pub flap_window_secs: u64,
pub flap_dampening_secs: u64,
}Expand description
Spanning tree (node.tree.*).
Fields§
§announce_min_interval_ms: u64Per-peer TreeAnnounce rate limit in ms (node.tree.announce_min_interval_ms).
parent_hysteresis: f64Hysteresis factor for cost-based parent re-selection (node.tree.parent_hysteresis).
Only switch parents when the candidate’s effective_depth is better than
current_effective_depth * (1.0 - parent_hysteresis). Range: 0.0-1.0.
Set to 0.0 to disable hysteresis (switch on any improvement).
hold_down_secs: u64Hold-down period after parent switch in seconds (node.tree.hold_down_secs).
After switching parents, suppress re-evaluation for this duration to allow MMP metrics to stabilize on the new link. Set to 0 to disable.
reeval_interval_secs: u64Periodic parent re-evaluation interval in seconds (node.tree.reeval_interval_secs).
How often to re-evaluate parent selection based on current MMP link costs, independent of TreeAnnounce traffic. Catches link degradation after the tree has stabilized. Set to 0 to disable.
flap_threshold: u32Flap dampening: max parent switches before extended hold-down (node.tree.flap_threshold).
flap_window_secs: u64Flap dampening: window in seconds for counting switches (node.tree.flap_window_secs).
flap_dampening_secs: u64Flap dampening: extended hold-down duration in seconds (node.tree.flap_dampening_secs).
Trait Implementations§
Source§impl Clone for TreeConfig
impl Clone for TreeConfig
Source§fn clone(&self) -> TreeConfig
fn clone(&self) -> TreeConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TreeConfig
impl Debug for TreeConfig
Source§impl Default for TreeConfig
impl Default for TreeConfig
Source§impl<'de> Deserialize<'de> for TreeConfig
impl<'de> Deserialize<'de> for TreeConfig
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>,
Auto Trait Implementations§
impl Freeze for TreeConfig
impl RefUnwindSafe for TreeConfig
impl Send for TreeConfig
impl Sync for TreeConfig
impl Unpin for TreeConfig
impl UnsafeUnpin for TreeConfig
impl UnwindSafe for TreeConfig
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
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>
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>
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