pub enum DeliveryError {
IngressClosed,
UnknownModule(String),
UnknownInput {
module: String,
input: String,
},
InvalidEnvelope(String),
OversizePayload {
byte_count: usize,
cap: usize,
},
TooManyInputs {
count: usize,
cap: usize,
},
AllocationFailed {
byte_count: usize,
reason: AllocFailReason,
},
BudgetExceeded {
byte_count: usize,
budget_remaining: usize,
},
}Expand description
Errors surfaced by host-facing delivery methods on Node.
Variants§
IngressClosed
The ingress queue is closed (Node is shutting down).
UnknownModule(String)
deliver_event / invoke referenced an unknown module name.
UnknownInput
deliver_event referenced a module that exists but has no
such input port.
Fields
InvalidEnvelope(String)
deliver_inbound received bytes that failed
EnvelopeCodec::decode_capped — malformed prost frame,
schema-version mismatch, or one of the NodeConfig.envelope_caps
limits exceeded.
OversizePayload
deliver_event / invoke payload exceeded the configured
per-item cap (NodeConfig::max_app_event_bytes or
NodeConfig::max_invoke_bytes). A matching
InfraEvent::AppIngressError lands on the bus alongside this
synchronous return so observers see the per-item rejection.
Fields
TooManyInputs
invoke carried more (name, bytes) inputs than the
configured NodeConfig::max_invoke_inputs cap allowed.
Matching InfraEvent::AppIngressError lands on the bus.
Fields
AllocationFailed
deliver_event / invoke could not allocate the
framework-owned buffer needed to hold the caller’s payload,
either because Vec::try_reserve_exact returned
TryReserveError or because admitting the payload would
exceed NodeConfig::ingress_byte_budget. Matching
InfraEvent::AppIngressError lands on the bus.
Fields
reason: AllocFailReasonWhy the reservation failed.
BudgetExceeded
Admitting this payload would push the engine over
NodeConfig::ingress_byte_budget. Matching
InfraEvent::AppIngressError lands on the bus.
Trait Implementations§
Source§impl Clone for DeliveryError
impl Clone for DeliveryError
Source§fn clone(&self) -> DeliveryError
fn clone(&self) -> DeliveryError
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 DeliveryError
impl Debug for DeliveryError
Source§impl Display for DeliveryError
impl Display for DeliveryError
impl Eq for DeliveryError
Source§impl Error for DeliveryError
impl Error for DeliveryError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl PartialEq for DeliveryError
impl PartialEq for DeliveryError
Source§fn eq(&self, other: &DeliveryError) -> bool
fn eq(&self, other: &DeliveryError) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for DeliveryError
Auto Trait Implementations§
impl Freeze for DeliveryError
impl RefUnwindSafe for DeliveryError
impl Send for DeliveryError
impl Sync for DeliveryError
impl Unpin for DeliveryError
impl UnsafeUnpin for DeliveryError
impl UnwindSafe for DeliveryError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§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.impl<T> ErasedComponent for T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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