Struct RetryPolicy
pub struct RetryPolicy {
pub max_attempts: u32,
pub backoff: BackoffStrategy,
pub jitter: bool,
retryable: Option<Arc<dyn Fn(&str) -> bool + Send + Sync>>,
}Expand description
Retry policy configuration.
Fields§
§max_attempts: u32Maximum number of retry attempts.
backoff: BackoffStrategyBackoff strategy.
jitter: boolWhether to add jitter to delays.
retryable: Option<Arc<dyn Fn(&str) -> bool + Send + Sync>>Implementations§
§impl RetryPolicy
impl RetryPolicy
pub fn new(max_attempts: u32) -> RetryPolicy
pub fn new(max_attempts: u32) -> RetryPolicy
Create a new retry policy.
pub fn with_backoff(self, backoff: BackoffStrategy) -> RetryPolicy
pub fn with_backoff(self, backoff: BackoffStrategy) -> RetryPolicy
Set backoff strategy.
pub fn without_jitter(self) -> RetryPolicy
pub fn without_jitter(self) -> RetryPolicy
Disable jitter.
pub fn with_retryable<F>(self, predicate: F) -> RetryPolicy
pub fn with_retryable<F>(self, predicate: F) -> RetryPolicy
Set retryable error predicate.
pub fn is_retryable(&self, error: &str) -> bool
pub fn is_retryable(&self, error: &str) -> bool
Check if an error is retryable.
Trait Implementations§
§impl Clone for RetryPolicy
impl Clone for RetryPolicy
§fn clone(&self) -> RetryPolicy
fn clone(&self) -> RetryPolicy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for RetryPolicy
impl Debug for RetryPolicy
§impl Default for RetryPolicy
impl Default for RetryPolicy
§fn default() -> RetryPolicy
fn default() -> RetryPolicy
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RetryPolicy
impl !RefUnwindSafe for RetryPolicy
impl Send for RetryPolicy
impl Sync for RetryPolicy
impl Unpin for RetryPolicy
impl !UnwindSafe for RetryPolicy
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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,
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.