pub enum HelloStrategyKind {
Backoff,
Reactive,
Passive,
Swim,
}Expand description
Which probe-scheduling algorithm a discovery protocol builds when
constructed from a DiscoveryConfig.
This controls when hellos are sent; the state machine (face creation, FIB wiring, neighbor table) is independent and stays in the protocol impl.
Variants§
Backoff
Exponential backoff with jitter. Default for most deployments.
Reactive
Event-driven only — no timer. Sends hellos only on topology events (face up, forwarding failure, neighbor going stale).
Passive
Passive MAC overhearing. Sends hellos only when unknown source MACs are observed; falls back to occasional backoff probing when quiet.
Swim
SWIM-style direct + indirect probing. Not yet fully implemented;
falls back to Backoff until strategy/swim.rs is complete.
Trait Implementations§
Source§impl Clone for HelloStrategyKind
impl Clone for HelloStrategyKind
Source§fn clone(&self) -> HelloStrategyKind
fn clone(&self) -> HelloStrategyKind
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HelloStrategyKind
impl Debug for HelloStrategyKind
Source§impl PartialEq for HelloStrategyKind
impl PartialEq for HelloStrategyKind
impl Eq for HelloStrategyKind
impl StructuralPartialEq for HelloStrategyKind
Auto Trait Implementations§
impl Freeze for HelloStrategyKind
impl RefUnwindSafe for HelloStrategyKind
impl Send for HelloStrategyKind
impl Sync for HelloStrategyKind
impl Unpin for HelloStrategyKind
impl UnwindSafe for HelloStrategyKind
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more