Skip to main content

TaskError

Enum TaskError 

Source
pub enum TaskError {
Show 35 variants InvalidConfiguration, InvalidCpuCount(usize), InvalidCpu(u32), CpuOwnerMismatch { expected: u32, actual: u32, }, CpuOwnerBorrowed, CpuAlreadyOnline(u32), CpuOffline(u32), CpuNotQuiescent(u32), LastOnlineCpu(u32), InvalidNice(i8), InvalidRtPriority(u8), InvalidRoundRobinQuantum, InvalidDeadline { runtime_ns: u64, deadline_ns: u64, period_ns: u64, }, UnsupportedDeadlineFlags(u32), DeadlineAdmission, DeadlineAffinity, StaleThreadId, ExecutorOwnerMismatch { expected: u64, actual: u64, }, InvalidTransition { from: ThreadState, to: ThreadState, }, AlreadyQueued, NotReady, NotExited, NoRunnableThread, TimerCapacity, ThreadCapacity, ActiveTimerAffinity, NotInitialized, InvalidRuntimeHandle, UnsafeContext, InvalidPiState, InvalidPiWaitState(PiWaitStateError), PiCycle, PiChainLimit { limit: usize, }, ThreadBusy, RuntimeFailure(u32),
}
Expand description

Errors produced by task-system operations.

Variants§

§

InvalidConfiguration

A task-system configuration field is internally inconsistent.

§

InvalidCpuCount(usize)

The requested CPU count is zero or cannot be represented.

§

InvalidCpu(u32)

A CPU identifier is outside the configured topology.

§

CpuOwnerMismatch

A CPU-local object was used by a CPU other than its owner.

Fields

§expected: u32

CPU that owns the object.

§actual: u32

CPU attempting the operation.

§

CpuOwnerBorrowed

The calling CPU’s scheduler object already has an active owner borrow.

§

CpuAlreadyOnline(u32)

The CPU is already registered or online.

§

CpuOffline(u32)

The CPU is not online.

§

CpuNotQuiescent(u32)

The CPU still owns runnable, timed, or remotely published work.

§

LastOnlineCpu(u32)

A scheduler topology must retain at least one online CPU.

§

InvalidNice(i8)

A nice value is outside -20..=19.

§

InvalidRtPriority(u8)

An RT priority is outside 1..=99.

§

InvalidRoundRobinQuantum

A round-robin quantum is zero.

§

InvalidDeadline

Deadline parameters violate 0 < runtime <= deadline <= period.

Fields

§runtime_ns: u64

Reserved runtime in nanoseconds.

§deadline_ns: u64

Relative deadline in nanoseconds.

§period_ns: u64

Replenishment period in nanoseconds.

§

UnsupportedDeadlineFlags(u32)

Deadline flags contain unsupported bits.

§

DeadlineAdmission

A deadline reservation exceeds root-domain capacity.

§

DeadlineAffinity

Deadline affinity does not cover every online CPU.

§

StaleThreadId

The thread identifier is stale or unknown.

§

ExecutorOwnerMismatch

A local executor wake header does not belong to the calling thread.

Fields

§expected: u64

Thread encoded in the direct wake header.

§actual: u64

Calling scheduler thread.

§

InvalidTransition

The requested lifecycle transition is invalid.

Fields

§from: ThreadState

State before the attempted transition.

§to: ThreadState

Requested state.

§

AlreadyQueued

A thread is already present in a run queue.

§

NotReady

A thread is not in a schedulable state.

§

NotExited

A thread cannot be reaped before reaching Exited.

§

NoRunnableThread

The CPU has no idle thread and no runnable work.

§

TimerCapacity

A configured fixed-capacity resource is exhausted.

§

ThreadCapacity

The cold-path scheduler thread reservation is exhausted.

§

ActiveTimerAffinity

An affinity update would move a thread away from its owner-CPU sleep timer.

§

NotInitialized

The runtime-backed facade has not been initialized.

§

InvalidRuntimeHandle

A runtime handle is non-null but violates the object handle contract.

§

UnsafeContext

Scheduling was requested from hard IRQ or another non-safe-point context.

§

InvalidPiState

PI ownership or waiter metadata does not match the requested transition.

§

InvalidPiWaitState(PiWaitStateError)

A PI waiter could not enter the lock graph because one checked invariant failed.

§

PiCycle

A transitive priority donation would form a lock dependency cycle.

§

PiChainLimit

A PI operation exceeded the bounded owner-chain walk.

Fields

§limit: usize

Maximum owner depth admitted by one graph transaction.

§

ThreadBusy

Thread wake/handle references still retain runtime-owned resources.

§

RuntimeFailure(u32)

A runtime resource teardown operation failed.

Trait Implementations§

Source§

impl Clone for TaskError

Source§

fn clone(&self) -> TaskError

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for TaskError

Source§

impl Debug for TaskError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for TaskError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for TaskError

Source§

impl Error for TaskError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<PiMutexStateError> for TaskError

Source§

fn from(error: PiMutexStateError) -> Self

Converts to this type from the input type.
Source§

impl From<TaskError> for SemaphoreError

Source§

fn from(source: TaskError) -> Self

Converts to this type from the input type.
Source§

impl From<TaskError> for MembarrierError

Source§

fn from(source: TaskError) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for TaskError

Source§

fn eq(&self, other: &TaskError) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for TaskError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.