Enum aws_smithy_types::retry::RetryKind
source · #[non_exhaustive]pub enum RetryKind {
Error(ErrorKind),
Explicit(Duration),
UnretryableFailure,
Unnecessary,
}
Expand description
RetryKind
describes how a request MAY be retried for a given response
A RetryKind
describes how a response MAY be retried; it does not mandate retry behavior.
The actual retry behavior is at the sole discretion of the RetryStrategy in place.
A RetryStrategy may ignore the suggestion for a number of reasons including but not limited to:
- Number of retry attempts exceeded
- The required retry delay exceeds the maximum backoff configured by the client
- No retry tokens are available due to service health
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.
Error(ErrorKind)
Retry the associated request due to a known ErrorKind
.
Explicit(Duration)
An Explicit retry (e.g. from x-amz-retry-after
).
Note: The specified Duration
is considered a suggestion and may be replaced or ignored.
UnretryableFailure
The response was a failure that should not be retried.
Unnecessary
The response was successful, so no retry is necessary.
Trait Implementations§
source§impl PartialEq for RetryKind
impl PartialEq for RetryKind
impl Eq for RetryKind
impl StructuralPartialEq for RetryKind
Auto Trait Implementations§
impl Freeze for RetryKind
impl RefUnwindSafe for RetryKind
impl Send for RetryKind
impl Sync for RetryKind
impl Unpin for RetryKind
impl UnwindSafe for RetryKind
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
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more