Skip to main content

RetryError

Struct RetryError 

Source
pub struct RetryError<E> { /* private fields */ }
Expand description

Error returned when a retry flow terminates without a successful result.

The generic parameter E is the caller’s application error type. It is preserved in AttemptFailure::Error when the terminal failure came from the user operation. Runtime failures such as timeout, panic, and executor failures are preserved through RetryError::last_failure.

Implementations§

Source§

impl<E> RetryError<E>

Source

pub fn reason(&self) -> RetryErrorReason

Returns the terminal retry error reason.

§Parameters

This method has no parameters.

§Returns

The reason the retry flow stopped.

Source

pub fn context(&self) -> &RetryContext

Returns the retry context captured at termination.

§Parameters

This method has no parameters.

§Returns

A context snapshot with attempt counts and timing metadata.

Source

pub fn attempt_timeout_source(&self) -> Option<AttemptTimeoutSource>

Returns the timeout source that produced the final attempt timeout, if any.

§Parameters

This method has no parameters.

§Returns

The timeout source when present, or None when no attempt timeout was selected for the terminal context.

Source

pub fn unreaped_worker_count(&self) -> u32

Returns the number of worker threads not observed to exit after cancellation.

§Parameters

This method has no parameters.

§Returns

Count of timed-out worker attempts that did not finish within the worker cancellation grace period.

Source

pub fn attempts(&self) -> u32

Returns the number of attempts that were executed.

§Returns

The number of operation attempts observed before termination.

Source

pub fn last_failure(&self) -> Option<&AttemptFailure<E>>

Returns the last failure, if one exists.

§Returns

Some(&AttemptFailure<E>) when at least one attempt failure was observed; None when the retry flow stopped before any attempt ran.

Source

pub fn last_error(&self) -> Option<&E>

Returns the last application error, if one exists.

§Parameters

This method has no parameters.

§Returns

Some(&E) when the terminal failure wraps an application error; None for timeout, panic, executor failures, or elapsed-budget failures with no attempt.

Source

pub fn into_last_error(self) -> Option<E>

Consumes the retry error and returns the last application error when the final failure wraps one.

§Parameters

This method has no parameters.

§Returns

Some(E) when the terminal failure owns an application error; None when the terminal failure was a timeout, panic, executor failure, or when no attempt ran.

Source

pub fn into_parts( self, ) -> (RetryErrorReason, Option<AttemptFailure<E>>, RetryContext)

Consumes the retry error and returns all terminal parts.

§Parameters

This method has no parameters.

§Returns

A tuple (reason, last_failure, context) preserving all terminal data.

Trait Implementations§

Source§

impl<E: Clone> Clone for RetryError<E>

Source§

fn clone(&self) -> RetryError<E>

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<E: Debug> Debug for RetryError<E>

Source§

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

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

impl<'de, E> Deserialize<'de> for RetryError<E>

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<E> Display for RetryError<E>
where E: Display,

Source§

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

Formats the retry error for diagnostics.

§Parameters
  • f: Formatter provided by the standard formatting machinery.
§Returns

fmt::Result from the formatter.

§Errors

Returns a formatting error if the underlying formatter fails.

Source§

impl<E> Error for RetryError<E>
where E: Error + 'static,

Source§

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

Returns the source terminal failure when one is available.

§Parameters

This method has no parameters.

§Returns

Some(&dyn Error) when the terminal failure wraps an application error, captured panic, or executor failure; otherwise None.

§Errors

This method does not return errors.

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<E: PartialEq> PartialEq for RetryError<E>

Source§

fn eq(&self, other: &RetryError<E>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<E> Serialize for RetryError<E>
where E: Serialize,

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<E: Eq> Eq for RetryError<E>

Source§

impl<E> StructuralPartialEq for RetryError<E>

Auto Trait Implementations§

§

impl<E> Freeze for RetryError<E>
where E: Freeze,

§

impl<E> RefUnwindSafe for RetryError<E>
where E: RefUnwindSafe,

§

impl<E> Send for RetryError<E>
where E: Send,

§

impl<E> Sync for RetryError<E>
where E: Sync,

§

impl<E> Unpin for RetryError<E>
where E: Unpin,

§

impl<E> UnsafeUnpin for RetryError<E>
where E: UnsafeUnpin,

§

impl<E> UnwindSafe for RetryError<E>
where E: UnwindSafe,

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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<E> IntoBoxError for E
where E: Error + Send + Sync + 'static,

Source§

fn into_box_error(self) -> Box<dyn Error + Sync + Send>

Converts this error into a boxed dynamic error. Read more
Source§

impl<T, D> IntoConfigDefault<T> for D
where D: IntoValueDefault<T>,

Source§

fn into_config_default(self) -> T

Converts this fallback value into T.
Source§

impl<T> IntoResult<T> for T

Source§

impl<T> IntoValueDefault<T> for T

Source§

fn into_value_default(self) -> T

Converts this argument into the default value.
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 = Infallible

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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,