Skip to main content

TimerUnavailableError

Enum TimerUnavailableError 

Source
#[non_exhaustive]
pub enum TimerUnavailableError { WorkerThreadSpawnFailed { source: Error, }, SchedulerWorkerTerminated, TimeDriverDisabled, RuntimeShuttingDown, BackendUnavailable { backend: &'static str, source: Box<dyn StdError + Send + Sync + 'static>, }, }
Expand description

Describes a backend failure that prevented timer registration or completion.

Each variant preserves the most specific stable source exposed by its backend. Custom Timer implementations should use BackendUnavailable to retain their own error rather than reducing it to display text. The enum is non-exhaustive; callers must retain a fallback arm when matching it.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

WorkerThreadSpawnFailed

The standard timer could not spawn its shared scheduler worker.

Fields

§source: Error

I/O error returned by the native thread builder.

§

SchedulerWorkerTerminated

The standard timer scheduler worker exited before the deadline.

§

TimeDriverDisabled

Available on crate feature tokio only.

The target asynchronous runtime has no enabled time driver.

Tokio currently exposes this condition by panicking while creating a future sleep. TokioTimer catches that unwind and returns this variant, but the process panic hook runs before unwinding. Consequently the hook may still log or otherwise observe the panic, and a panic = "abort" build cannot convert it into this error.

§

RuntimeShuttingDown

Available on crate feature tokio only.

The target asynchronous runtime shut down before a pending timer future completed.

§

BackendUnavailable

A custom timer backend is unavailable.

Fields

§backend: &'static str

Stable name identifying the custom backend.

§source: Box<dyn StdError + Send + Sync + 'static>

Backend-specific error that prevented timer registration or completion.

Trait Implementations§

Source§

impl Debug for TimerUnavailableError

Source§

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

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

impl Display for TimerUnavailableError

Source§

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

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

impl Error for TimerUnavailableError

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<TimerUnavailableError> for TimeError

Source§

fn from(source: TimerUnavailableError) -> Self

Wraps a timer-backend failure as a monotonic time error.

§Parameters
  • source - Timer-backend failure to wrap.
§Returns

A monotonic time error retaining source.

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> 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> 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, <T as TryFrom<U>>::Error>

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.