#[non_exhaustive]pub enum BatchInfrastructureError {
EmptyBatchPlan,
AllocationTooLarge {
what: &'static str,
requested: usize,
cap: usize,
},
HostAllocationFailed {
what: &'static str,
bytes: usize,
},
WorkerSpawnFailed {
worker: usize,
},
WorkerPanicked {
worker: usize,
},
WorkerSlotMissing {
worker: usize,
available: usize,
},
ParallelWorkerPanicked,
SchedulerPoisoned,
ResultIndexOutOfBounds {
index: usize,
job_count: usize,
},
DuplicateResult {
index: usize,
},
MissingResult {
index: usize,
},
ResultKindMismatch {
index: usize,
},
}Expand description
Failure in batch scheduling, allocation, or worker-result collection.
These failures are deliberately separate from TileBatchError: no tile
index exists for an allocator failure or an internal scheduler invariant.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
EmptyBatchPlan
An internal planning boundary was invoked without any submitted jobs.
AllocationTooLarge
Batch-owned metadata would exceed the operation’s host-memory budget.
Fields
HostAllocationFailed
The host allocator rejected an otherwise cap-valid reservation.
Fields
WorkerSpawnFailed
The host could not create a requested scoped worker.
WorkerPanicked
A worker unwound before completing its assigned jobs.
WorkerSlotMissing
Planned work referenced a worker slot that does not exist.
Fields
ParallelWorkerPanicked
A worker managed by a shared parallel runtime unwound.
SchedulerPoisoned
Shared batch state was poisoned by an earlier unwind.
ResultIndexOutOfBounds
A worker reported an index outside the submitted job range.
DuplicateResult
More than one worker result claimed the same job index.
MissingResult
No worker result was produced for a submitted job.
ResultKindMismatch
Collector state contradicted a result kind it had just inspected.
Trait Implementations§
Source§impl Clone for BatchInfrastructureError
impl Clone for BatchInfrastructureError
Source§fn clone(&self) -> BatchInfrastructureError
fn clone(&self) -> BatchInfrastructureError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BatchInfrastructureError
Source§impl Debug for BatchInfrastructureError
impl Debug for BatchInfrastructureError
Source§impl Display for BatchInfrastructureError
impl Display for BatchInfrastructureError
impl Eq for BatchInfrastructureError
Source§impl Error for BatchInfrastructureError
impl Error for BatchInfrastructureError
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<E> From<BatchInfrastructureError> for BatchDecodeError<E>
impl<E> From<BatchInfrastructureError> for BatchDecodeError<E>
Source§fn from(error: BatchInfrastructureError) -> BatchDecodeError<E>
fn from(error: BatchInfrastructureError) -> BatchDecodeError<E>
Source§impl PartialEq for BatchInfrastructureError
impl PartialEq for BatchInfrastructureError
impl StructuralPartialEq for BatchInfrastructureError
Auto Trait Implementations§
impl Freeze for BatchInfrastructureError
impl RefUnwindSafe for BatchInfrastructureError
impl Send for BatchInfrastructureError
impl Sync for BatchInfrastructureError
impl Unpin for BatchInfrastructureError
impl UnsafeUnpin for BatchInfrastructureError
impl UnwindSafe for BatchInfrastructureError
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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