#[non_exhaustive]pub enum StatusKind {
Unspecified,
IbdComplete,
TipStall,
DiskLow,
MempoolCongested,
PeerFloor,
DeepReorg,
TemplateInvalid,
Unknown(i32),
}Expand description
Which node-health condition an Event::Status describes.
Open by design: a newer node may report a kind this client build predates,
which surfaces as Unknown rather than an error. The
event’s severity and message stay meaningful in that case, so a generic
“log it and page on critical” handler keeps working across upgrades.
#[non_exhaustive] for the reason the Unknown arm exists: this crate is
published, the node’s taxonomy grows independently of it, and a downstream
match that listed every variant including Unknown(_) would be
exhaustive — so adding a kind here would be a breaking release. Forcing a
wildcard arm keeps a node-side addition additive for every consumer.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unspecified
The producer did not set a kind (proto3’s zero value). Distinct from
Unknown, which is a kind that was set and this
build does not recognize.
IbdComplete
Initial block download finished (one-shot).
TipStall
No block connected inside the configured window.
Not suppressed during initial block download: the node’s IBD predicate is the tip header’s age, not a sync flag, so a node that was caught up and then wedged re-enters it exactly when you want to hear about it. A genuinely syncing node connects blocks and never crosses the threshold.
DiskLow
Free space on the watched directory fell below the configured floor.
MempoolCongested
Mempool occupancy crossed the configured share of its byte cap.
PeerFloor
Connected peers stayed below the configured floor.
DeepReorg
A reorg at least the configured depth landed (one-shot).
TemplateInvalid
A block template the node built failed its own validity check.
Unknown(i32)
A condition this client build does not recognize.
Trait Implementations§
Source§impl Clone for StatusKind
impl Clone for StatusKind
impl Copy for StatusKind
Source§impl Debug for StatusKind
impl Debug for StatusKind
impl Eq for StatusKind
Source§impl PartialEq for StatusKind
impl PartialEq for StatusKind
impl StructuralPartialEq for StatusKind
Auto Trait Implementations§
impl Freeze for StatusKind
impl RefUnwindSafe for StatusKind
impl Send for StatusKind
impl Sync for StatusKind
impl Unpin for StatusKind
impl UnsafeUnpin for StatusKind
impl UnwindSafe for StatusKind
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<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<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<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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request