#[non_exhaustive]pub enum RuntimeConfigError {
Show 21 variants
IdentityExhausted,
MalformedIdentity {
kind: IdentityKind,
},
DuplicateEngine {
engine_id: EngineId,
},
DuplicateProviderDeviceTarget {
provider_device_identity: ProviderDeviceIdentity,
first_engine_id: EngineId,
duplicate_engine_id: EngineId,
},
EngineTargetRebind {
engine_id: EngineId,
current: ProviderDeviceIdentity,
replacement: ProviderDeviceIdentity,
},
DuplicateCapability {
capability: CoreCapabilityKind,
},
ConflictingRegistration {
key: RegistrationKey,
},
MissingEngine {
engine_id: EngineId,
},
EmptyStorageClasses {
engine_id: EngineId,
},
DuplicateStorageClass {
engine_id: EngineId,
storage_class: StorageClass,
first_index: usize,
duplicate_index: usize,
},
DefaultStorageClassNotListed {
engine_id: EngineId,
default_storage_class: StorageClass,
},
UnknownTransferEndpointEngine {
endpoint: TransferEndpoint,
},
UnsupportedTransferEndpointStorage {
endpoint: TransferEndpoint,
},
MissingTransferProvider {
source_endpoint: TransferEndpoint,
destination: TransferEndpoint,
},
StaleTransferRoute {
source_endpoint: TransferEndpoint,
destination: TransferEndpoint,
endpoint: TransferEndpoint,
registered: Box<ProviderDeviceIdentity>,
current: Box<ProviderDeviceIdentity>,
},
UnboundTransferRoute {
source_endpoint: TransferEndpoint,
destination: TransferEndpoint,
},
BoundCandidateInvariant {
endpoint: TransferEndpoint,
},
MissingInputIngressValidator {
engine_id: EngineId,
},
ContextIdentityMismatch {
engine_id: EngineId,
},
InvalidExecutionPolicy {
reason: ExecutionPolicyError,
},
ExtensionModule {
source: ExtensionModuleError,
},
}Expand description
Reports invalid runtime configuration.
§Examples
use tenferro_runtime::{EngineId, RuntimeConfigError};
let error = RuntimeConfigError::DuplicateEngine {
engine_id: EngineId::new("tenferro.cpu").unwrap(),
};
assert!(error.to_string().contains("already registered"));Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
IdentityExhausted
Runtime identity or registration identity allocation exhausted.
MalformedIdentity
A namespaced runtime identifier was malformed.
Fields
kind: IdentityKindIdentifier class that failed validation.
DuplicateEngine
An engine registration tried to insert a different value for an already-registered engine ID.
DuplicateProviderDeviceTarget
Two direct engines selected the same provider/device target.
Fields
provider_device_identity: ProviderDeviceIdentityPhysical provider/device binding that was selected twice.
EngineTargetRebind
A replacement attempted to change the physical target of an engine ID.
Fields
current: ProviderDeviceIdentityBinding currently attached to the engine.
replacement: ProviderDeviceIdentityBinding requested by the replacement.
DuplicateCapability
A direct capability slot was registered twice where replacement is not accepted.
Fields
capability: CoreCapabilityKindDuplicated capability kind.
ConflictingRegistration
A registration key conflicted across transactional registration input.
Fields
key: RegistrationKeyConflicting registration key.
MissingEngine
A requested engine replacement or removal had no existing record.
EmptyStorageClasses
Engine registration provided no supported storage classes.
DuplicateStorageClass
Engine registration repeated a storage class.
Fields
storage_class: StorageClassDuplicated storage class.
DefaultStorageClassNotListed
Engine registration selected a default storage class that is not in its supported list.
Fields
default_storage_class: StorageClassMissing default storage class.
UnknownTransferEndpointEngine
A transfer endpoint references an engine that is absent from the candidate configuration.
Fields
endpoint: TransferEndpointEndpoint that references the missing engine.
UnsupportedTransferEndpointStorage
A transfer endpoint names a storage class unsupported by its engine.
Fields
endpoint: TransferEndpointEndpoint whose storage class is unsupported by its engine.
MissingTransferProvider
A transfer route removal named an endpoint pair that is not registered.
Fields
source_endpoint: TransferEndpointSource endpoint of the absent route.
destination: TransferEndpointDestination endpoint of the absent route.
StaleTransferRoute
A route retains a physical binding that no longer matches its engine.
Fields
source_endpoint: TransferEndpointSource endpoint of the stale route.
destination: TransferEndpointDestination endpoint of the stale route.
endpoint: TransferEndpointRoute endpoint whose physical binding changed.
registered: Box<ProviderDeviceIdentity>Binding captured when this route was registered/frozen.
current: Box<ProviderDeviceIdentity>Binding currently attached to the endpoint’s engine.
UnboundTransferRoute
A route reached freezing without a physical binding after validation.
Fields
source_endpoint: TransferEndpointSource endpoint of the unbound route.
destination: TransferEndpointDestination endpoint of the unbound route.
BoundCandidateInvariant
A bound candidate referenced an engine that disappeared before freeze; this indicates runtime corruption rather than candidate validation.
Fields
endpoint: TransferEndpointEndpoint whose already-bound engine lookup failed.
MissingInputIngressValidator
An execution bridge omitted the validators required for explicit input ingress and destination-buffer residency.
ContextIdentityMismatch
A replacement attempted to reuse an engine ID with a different execution context identity in a context where that is invalid.
InvalidExecutionPolicy
Execution policy failed validation.
Fields
reason: ExecutionPolicyErrorTyped policy validation reason.
ExtensionModule
Extension module transaction failed.
Fields
source: ExtensionModuleErrorTyped extension module source.
Trait Implementations§
Source§impl Debug for RuntimeConfigError
impl Debug for RuntimeConfigError
Source§impl Display for RuntimeConfigError
impl Display for RuntimeConfigError
Source§impl Error for RuntimeConfigError
impl Error for RuntimeConfigError
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 From<IdentityError> for RuntimeConfigError
impl From<IdentityError> for RuntimeConfigError
Source§fn from(source: IdentityError) -> Self
fn from(source: IdentityError) -> Self
Auto Trait Implementations§
impl Freeze for RuntimeConfigError
impl RefUnwindSafe for RuntimeConfigError
impl Send for RuntimeConfigError
impl Sync for RuntimeConfigError
impl Unpin for RuntimeConfigError
impl UnsafeUnpin for RuntimeConfigError
impl UnwindSafe for RuntimeConfigError
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