pub enum WireReceiveErrorKind {
UnknownTypeHash,
TypeMismatch {
expected_hash: u64,
},
DecodeFailed {
error_summary: String,
},
AllocationFailed {
byte_count: usize,
reason: AllocFailReason,
},
BudgetExceeded {
byte_count: usize,
budget_remaining: usize,
},
BackendMaterializeFailed {
backend_ref: ComponentRef,
backend_error_summary: String,
},
}Expand description
Sub-kind discriminator for InfraEvent::WireReceiveError.
One top-level variant + an enum sub-kind keeps the bus-topic
count down and lets subscribers route on the variant while
matching the sub-kind out of the variant fields - the
PeerSuspect/PeerDown/PeerLive triple pattern is for
distinct lifecycle events; these three share lifecycle (one
fill, one decode step) and audience (wire-payload integrity).
Variants§
UnknownTypeHash
No decoder is registered for actual_hash. The sender
shipped a value whose concrete type is unknown to this
Node’s inventory - either a version skew (sender has a
carrier the receiver hasn’t compiled in) or a malicious /
fuzzed envelope.
TypeMismatch
Destination slot carries a compile-time wire-type
assertion (expected_hash) and the fill’s actual_hash
does not match.
DecodeFailed
Decoder ran and returned Err - the bytes were not a
valid encoding of the advertised type.
Fields
AllocationFailed
The framework-owned scratch buffer could not be reserved
before decode - heap allocation failed or a per-item cap
rejected the request. Emitted by the
Engine::decode_typed_fill boundary on Vec::try_reserve_exact
failure or before the prost decode runs when the fill’s
payload length exceeds EnvelopeCaps::max_per_fill_bytes.
Fields
reason: AllocFailReasonWhy the reservation failed.
BudgetExceeded
Admitting this fill’s payload would push the engine over
NodeConfig::ingress_byte_budget. The fill is dropped; the
envelope’s other fills continue to deliver.
Fields
BackendMaterializeFailed
The destination slot is bound to a Backend role and the
backend’s materialize_from_wire impl returned Err. The
engine drops the fill, releases the byte charge, and emits
this event so operators can see which backend rejected
inbound payloads. Distinct from
WireReceiveErrorKind::DecodeFailed (framework-side
registry decoder failure).
Fields
backend_ref: ComponentRefComponentRef of the destination slot’s bound backend.
Trait Implementations§
Source§impl Clone for WireReceiveErrorKind
impl Clone for WireReceiveErrorKind
Source§fn clone(&self) -> WireReceiveErrorKind
fn clone(&self) -> WireReceiveErrorKind
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 WireReceiveErrorKind
impl Debug for WireReceiveErrorKind
impl Eq for WireReceiveErrorKind
Source§impl PartialEq for WireReceiveErrorKind
impl PartialEq for WireReceiveErrorKind
Source§fn eq(&self, other: &WireReceiveErrorKind) -> bool
fn eq(&self, other: &WireReceiveErrorKind) -> bool
self and other values to be equal, and is used by ==.