pub enum PrepareError {
Show 19 variants
RuntimeMismatch {
expected: RuntimeId,
actual: RuntimeId,
},
StaleEpoch {
prepared: RuntimeEpoch,
current: RuntimeEpoch,
},
InputSignature {
source: InputSignatureError,
},
ShapeGuard {
source: ShapeGuardError,
},
Specialization {
source: SpecializationError,
},
NoEligibleEngine {
constraint: ProgramPlacementConstraint,
},
NoExecutableEngine {
engine_id: EngineId,
},
NoInputIngress {
input_index: usize,
placement: Placement,
},
DispatchSearchBudgetExceeded {
attempts: usize,
limit: usize,
},
MissingTransferProvider {
instruction_index: usize,
value_slot: usize,
destination_endpoint: TransferEndpoint,
available_source_endpoints: Vec<TransferEndpoint>,
},
ResolvedEngineUnavailable {
engine_id: EngineId,
},
Unsupported {
reason: UnsupportedReason,
},
DeterminismUnsupported {
engine_id: EngineId,
},
ProviderContract {
source: ProviderContractError,
},
PreparationCycle {
key: PreparationKeySummary,
},
NestedPreparationUnsupported {
parent: PreparationKeySummary,
requested: PreparationKeySummary,
},
CacheInFlightCapacityExceeded {
in_flight: usize,
queued_distinct_keys: usize,
},
CacheState {
source: RuntimeStateError,
},
Engine {
source: Arc<dyn Error + Send + Sync>,
},
}Expand description
Reports failures while preparing runtime execution artifacts.
§Examples
use tenferro_runtime::{InputSignature, PrepareError, SpecializationRequirements};
let error = SpecializationRequirements::polymorphic(1)
.project(&InputSignature::new(Vec::new()))
.unwrap_err();
assert!(matches!(error, PrepareError::Specialization { .. }));Variants§
RuntimeMismatch
Prepared artifact belongs to a different runtime.
Fields
StaleEpoch
Prepared artifact was created for a stale runtime epoch.
Fields
prepared: RuntimeEpochEpoch captured by the prepared artifact.
current: RuntimeEpochRuntime’s current epoch.
InputSignature
Input signature construction failed.
Fields
source: InputSignatureErrorTyped source error.
ShapeGuard
Semantic shape guards failed.
Fields
source: ShapeGuardErrorTyped source error.
Specialization
Signature projection through specialization requirements failed.
Fields
source: SpecializationErrorTyped source error.
NoEligibleEngine
No eligible engine matched the placement and capability constraints.
Fields
constraint: ProgramPlacementConstraintPlacement constraint that could not be satisfied.
NoExecutableEngine
A preparation-only engine advertised the required capability but cannot produce an executable prepared schedule.
NoInputIngress
No eligible engine declared an ingress compatible with an input placement.
Fields
DispatchSearchBudgetExceeded
Placement resolution exceeded its bounded combination-search budget.
Fields
MissingTransferProvider
No available copy of a value has a registered direct transfer provider to the storage required by its consumer.
Fields
destination_endpoint: TransferEndpointDestination endpoint required by the instruction.
available_source_endpoints: Vec<TransferEndpoint>Endpoints retaining an available copy.
A resolved placement references an engine absent from its preparation snapshot.
Unsupported
No provider supports this operation under the requested constraints.
Fields
reason: UnsupportedReasonDeterministic unsupported reason.
DeterminismUnsupported
Deterministic execution was requested from an engine that cannot provide it.
ProviderContract
Provider returned a value that violates the runtime preparation contract.
Fields
source: ProviderContractErrorTyped provider-contract source.
PreparationCycle
Preparation recursion reached an unsupported cycle.
Fields
key: PreparationKeySummaryBounded summary of the recursive key.
NestedPreparationUnsupported
Preparation recursively requested a different key.
Fields
parent: PreparationKeySummaryParent key currently preparing on this thread.
requested: PreparationKeySummaryNested key requested by the producer.
CacheInFlightCapacityExceeded
The preparation cache is full of active/queued distinct keys.
Fields
CacheState
Runtime cache state could not be accessed.
Fields
source: RuntimeStateErrorRuntime state source.
Engine
Engine or internal preparation source failed.
Trait Implementations§
Source§impl Debug for PrepareError
impl Debug for PrepareError
Source§impl Display for PrepareError
impl Display for PrepareError
Source§impl Error for PrepareError
impl Error for PrepareError
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()
Auto Trait Implementations§
impl Freeze for PrepareError
impl !RefUnwindSafe for PrepareError
impl Send for PrepareError
impl Sync for PrepareError
impl Unpin for PrepareError
impl UnsafeUnpin for PrepareError
impl !UnwindSafe for PrepareError
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more