pub enum BootstrapError {
UnknownTarget {
target_name: String,
available: Vec<String>,
},
UnknownSlot {
slot_id: u32,
available: Vec<u32>,
},
AlreadyTransitivelyQueued {
target_name: String,
},
UnknownInput {
target_name: String,
input_name: String,
declared: Vec<String>,
},
MissingInput {
target_name: String,
input_name: String,
},
AllocationFailed {
target_name: String,
byte_count: usize,
budget_remaining: usize,
},
}Expand description
Errors surfaced by host-facing bootstrap staging methods on
Node. F3 lands the Node API + validation logic; this commit
defines the error taxonomy + display only.
Variants§
UnknownTarget
run_bootstrap(BootstrapTarget::ModuleRequests|ModuleNames|Slots)
named a target the engine has no bootstrap registration for.
Carries the queue snapshot so callers can present the legal set.
Fields
UnknownSlot
run_bootstrap(BootstrapTarget::Slots(...)) named a slot id
that does not exist on the target’s input site map. Carries
the legal ids so callers can correct the mapping.
Fields
AlreadyTransitivelyQueued
The host called run_bootstrap with a target whose inputs are
already staged + queued. The host must drive the pending
request through to completion (or cancel it) before
re-targeting the same name.
UnknownInput
run_bootstrap(BootstrapTarget::ModuleRequests(...)) named an
input the target does not declare as a formal. Carries the
declared set so callers can correct the request.
Fields
MissingInput
run_bootstrap(BootstrapTarget::ModuleRequests(...)) is
missing a required formal input. Validation fails atomically —
no inputs stage when this fires.
Fields
AllocationFailed
Bootstrap input staging hit the engine’s ingress_byte_budget
cap or the try_reserve_exact seam returned TryReserveError.
Carries the offending input’s byte count + the remaining
budget at the point of rejection so the host can decide
whether to back off, shrink the payload, or raise the cap.
Any per-input charges that landed earlier in the same
request are released before the engine surfaces this error —
the bootstrap state stays untouched.
Trait Implementations§
Source§impl Clone for BootstrapError
impl Clone for BootstrapError
Source§fn clone(&self) -> BootstrapError
fn clone(&self) -> BootstrapError
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 BootstrapError
impl Debug for BootstrapError
Source§impl Display for BootstrapError
impl Display for BootstrapError
impl Eq for BootstrapError
Source§impl Error for BootstrapError
impl Error for BootstrapError
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 BootstrapError
impl PartialEq for BootstrapError
Source§fn eq(&self, other: &BootstrapError) -> bool
fn eq(&self, other: &BootstrapError) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for BootstrapError
Auto Trait Implementations§
impl Freeze for BootstrapError
impl RefUnwindSafe for BootstrapError
impl Send for BootstrapError
impl Sync for BootstrapError
impl Unpin for BootstrapError
impl UnsafeUnpin for BootstrapError
impl UnwindSafe for BootstrapError
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