pub struct Error(Kind);
Expand description
Errors encountered by the timer implementation.
Currently, there are two different errors that can occur:
-
shutdown
occurs when a timer operation is attempted, but the timer instance has been dropped. In this case, the operation will never be able to complete and theshutdown
error is returned. This is a permanent error, i.e., once this error is observed, timer operations will never succeed in the future. -
at_capacity
occurs when a timer operation is attempted, but the timer instance is currently handling its maximum number of outstanding sleep instances. In this case, the operation is not able to be performed at the current moment, andat_capacity
is returned. This is a transient error, i.e., at some point in the future, if the operation is attempted again, it might succeed. Callers that observe this error should attempt to shed load. One way to do this would be dropping the future that issued the timer operation.
Tuple Fields§
§0: Kind
Implementations§
source§impl Error
impl Error
sourcepub fn is_shutdown(&self) -> bool
pub fn is_shutdown(&self) -> bool
Returns true
if the error was caused by the timer being shutdown.
sourcepub fn at_capacity() -> Error
pub fn at_capacity() -> Error
Creates an error representing a timer at capacity.
sourcepub fn is_at_capacity(&self) -> bool
pub fn is_at_capacity(&self) -> bool
Returns true
if the error was caused by the timer being at capacity.
sourcepub fn is_invalid(&self) -> bool
pub fn is_invalid(&self) -> bool
Returns true
if the error was caused by the timer being misconfigured.
Trait Implementations§
source§impl Error for Error
impl Error for Error
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
impl Copy for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnwindSafe for Error
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)