pub enum DropReason {
KernelQueueFull,
NoObserver,
PeerGone,
StorageFull,
}Expand description
Reason why a BeatOutcome::Dropped was produced.
Four-way taxonomy covering every io::Error classified as Dropped
by classify_send_error. Copy by construction; fits in a single byte
(statically asserted below). Operators can match on this to distinguish
“observer not yet listening” from “socket torn down” from “host full”.
Variants§
KernelQueueFull
The kernel send buffer or socket queue was full (transient).
Source: WouldBlock or ENOBUFS. The observer is likely alive;
retry after a short back-off or rely on
set_reconnect_after.
NoObserver
No observer is bound at the target path or address.
Source: NotFound or ConnectionRefused. Expected during a
rolling observer restart before the new process has bound the socket.
PeerGone
The peer socket was torn down since the last successful beat.
Source: ConnectionReset, NotConnected, or BrokenPipe. The
channel was live and then disappeared — typically a crash or explicit
observer shutdown. Call reconnect to recover.
StorageFull
The host filesystem is out of space (UDS socket path on a full volume).
Source: StorageFull. Retrying without clearing disk space will not
resolve this; operator intervention is required.
Trait Implementations§
Source§impl Clone for DropReason
impl Clone for DropReason
Source§fn clone(&self) -> DropReason
fn clone(&self) -> DropReason
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 DropReason
impl Debug for DropReason
Source§impl Display for DropReason
impl Display for DropReason
Source§impl PartialEq for DropReason
impl PartialEq for DropReason
Source§fn eq(&self, other: &DropReason) -> bool
fn eq(&self, other: &DropReason) -> bool
self and other values to be equal, and is used by ==.