#[non_exhaustive]pub enum MeshPeerEvent {
Joined {
node_id: String,
address: Option<String>,
platform: Option<String>,
verified: bool,
},
Left {
node_id: String,
},
Alive {
node_id: String,
},
Suspect {
node_id: String,
},
Unreachable {
node_id: String,
},
Recovered {
node_id: String,
address: Option<String>,
verified: bool,
},
}Expand description
Live mesh peer membership / health change (WEFT-120).
Published by the mesh runtime whenever a peer joins, leaves, or
transitions health state. Consumers (notably ClusterService /
ClusterMembership) apply these atomically so cluster membership
mirrors mesh state without a pull-based sync_to_membership loop.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Joined
Peer established a mesh connection (or reconnected after drop).
Fields
verified: boolThe peer counts as a cluster member: admission verified node_id
for this connection, or admission is not enforce (under the
default observe, and under off, every peer counts). False only
under enforce for a connection whose id is just a claim (a
dialled seed, a legacy leaf); membership then holds it as
NodeState::Unverified,
not Active. Absent in older events (read as false).
Left
Peer disconnected (graceful leave or connection drop).
Alive
Heartbeat / successful probe — peer is alive.
Suspect
SWIM / heartbeat marked the peer suspect.
Unreachable
Peer confirmed unreachable (partition or dead).
Recovered
Peer recovered after Unreachable / Suspect (partition recovery).
Implementations§
Trait Implementations§
Source§impl Clone for MeshPeerEvent
impl Clone for MeshPeerEvent
Source§impl Debug for MeshPeerEvent
impl Debug for MeshPeerEvent
Source§impl<'de> Deserialize<'de> for MeshPeerEvent
impl<'de> Deserialize<'de> for MeshPeerEvent
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>,
impl Eq for MeshPeerEvent
Source§impl PartialEq for MeshPeerEvent
impl PartialEq for MeshPeerEvent
Source§impl Serialize for MeshPeerEvent
impl Serialize for MeshPeerEvent
impl StructuralPartialEq for MeshPeerEvent
Auto Trait Implementations§
impl Freeze for MeshPeerEvent
impl RefUnwindSafe for MeshPeerEvent
impl Send for MeshPeerEvent
impl Sync for MeshPeerEvent
impl Unpin for MeshPeerEvent
impl UnsafeUnpin for MeshPeerEvent
impl UnwindSafe for MeshPeerEvent
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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