pub struct RecoveryErrorInfo { /* private fields */ }Expand description
Describes the final failure that caused a Step method recovery.
Read this value from Context::recovery_error. Worker failures preserve their original
error type and detail. Dex failures such as timeouts use the corresponding failure type.
if let Some(error) = context.recovery_error() {
eprintln!("Recovering from {}: {}", error.error_type(), error.detail());
}Implementations§
Source§impl RecoveryErrorInfo
impl RecoveryErrorInfo
Sourcepub fn attempt_progress(&self) -> StepAttemptProgress
pub fn attempt_progress(&self) -> StepAttemptProgress
Returns the furthest progress across all attempts of the failed Step method call.
StepAttemptProgress::NotStarted guarantees its handler did not run. Both other values
mean side effects may have happened. The value is copied; see StepAttemptProgress for
a recovery example. Older Servers report StepAttemptProgress::Unspecified.
Since 1.35.0.
Sourcepub fn error_type(&self) -> &str
pub fn error_type(&self) -> &str
Returns the original Worker error type or backend failure type.
Trait Implementations§
Source§impl Clone for RecoveryErrorInfo
impl Clone for RecoveryErrorInfo
Source§impl Debug for RecoveryErrorInfo
impl Debug for RecoveryErrorInfo
impl Eq for RecoveryErrorInfo
Source§impl PartialEq for RecoveryErrorInfo
impl PartialEq for RecoveryErrorInfo
impl StructuralPartialEq for RecoveryErrorInfo
Auto Trait Implementations§
impl Forget for RecoveryErrorInfo
impl Freeze for RecoveryErrorInfo
impl RefUnwindSafe for RecoveryErrorInfo
impl Send for RecoveryErrorInfo
impl Sync for RecoveryErrorInfo
impl Unpin for RecoveryErrorInfo
impl UnsafeUnpin for RecoveryErrorInfo
impl UnwindSafe for RecoveryErrorInfo
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request