pub struct DefaultRetryConfig { /* private fields */ }Expand description
Default retry configuration implementation
Uses Config to store all configuration values, implementing both the RetryConfig trait and the Configurable trait.
§Author
Haixing Hu
Implementations§
Source§impl DefaultRetryConfig
impl DefaultRetryConfig
Sourcepub fn with_config(config: Config) -> Self
pub fn with_config(config: Config) -> Self
Create a new DefaultRetryConfig instance with the specified configuration
Trait Implementations§
Source§impl Clone for DefaultRetryConfig
impl Clone for DefaultRetryConfig
Source§fn clone(&self) -> DefaultRetryConfig
fn clone(&self) -> DefaultRetryConfig
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 moreSource§impl Configurable for DefaultRetryConfig
impl Configurable for DefaultRetryConfig
Source§fn config_mut(&mut self) -> &mut Config
fn config_mut(&mut self) -> &mut Config
Gets a mutable reference to the configuration Read more
Source§fn set_config(&mut self, config: Config)
fn set_config(&mut self, config: Config)
Sets the configuration Read more
Source§fn on_config_changed(&mut self)
fn on_config_changed(&mut self)
Callback after configuration changes Read more
Source§impl Debug for DefaultRetryConfig
impl Debug for DefaultRetryConfig
Source§impl Default for DefaultRetryConfig
impl Default for DefaultRetryConfig
Source§impl RetryConfig for DefaultRetryConfig
impl RetryConfig for DefaultRetryConfig
Source§fn max_attempts(&self) -> u32
fn max_attempts(&self) -> u32
Get maximum number of attempts Read more
Source§fn set_max_attempts(&mut self, max_attempts: u32) -> &mut Self
fn set_max_attempts(&mut self, max_attempts: u32) -> &mut Self
Set maximum number of attempts
Source§fn set_max_duration(&mut self, max_duration: Option<Duration>) -> &mut Self
fn set_max_duration(&mut self, max_duration: Option<Duration>) -> &mut Self
Set maximum duration for retry execution
Source§fn set_operation_timeout(&mut self, timeout: Option<Duration>) -> &mut Self
fn set_operation_timeout(&mut self, timeout: Option<Duration>) -> &mut Self
Set single operation timeout Read more
Source§fn delay_strategy(&self) -> RetryDelayStrategy
fn delay_strategy(&self) -> RetryDelayStrategy
Get delay strategy type
Source§fn set_delay_strategy(
&mut self,
delay_strategy: RetryDelayStrategy,
) -> &mut Self
fn set_delay_strategy( &mut self, delay_strategy: RetryDelayStrategy, ) -> &mut Self
Set delay strategy type
Source§fn jitter_factor(&self) -> f64
fn jitter_factor(&self) -> f64
Get jitter factor Read more
Source§fn set_jitter_factor(&mut self, jitter_factor: f64) -> &mut Self
fn set_jitter_factor(&mut self, jitter_factor: f64) -> &mut Self
Set jitter factor
Source§const KEY_MAX_ATTEMPTS: &'static str = "retry.max_attempts"
const KEY_MAX_ATTEMPTS: &'static str = "retry.max_attempts"
Configuration key for maximum number of attempts
Source§const KEY_DELAY_STRATEGY: &'static str = "retry.delay_strategy"
const KEY_DELAY_STRATEGY: &'static str = "retry.delay_strategy"
Configuration key for delay strategy
Source§const KEY_FIXED_DELAY: &'static str = "retry.fixed_delay_millis"
const KEY_FIXED_DELAY: &'static str = "retry.fixed_delay_millis"
Configuration key for fixed delay time
Source§const KEY_RANDOM_MIN_DELAY: &'static str = "retry.random_min_delay_millis"
const KEY_RANDOM_MIN_DELAY: &'static str = "retry.random_min_delay_millis"
Configuration key for random delay minimum value
Source§const KEY_RANDOM_MAX_DELAY: &'static str = "retry.random_max_delay_millis"
const KEY_RANDOM_MAX_DELAY: &'static str = "retry.random_max_delay_millis"
Configuration key for random delay maximum value
Source§const KEY_BACKOFF_INITIAL_DELAY: &'static str = "retry.backoff_initial_delay_millis"
const KEY_BACKOFF_INITIAL_DELAY: &'static str = "retry.backoff_initial_delay_millis"
Configuration key for exponential backoff initial delay
Source§const KEY_BACKOFF_MAX_DELAY: &'static str = "retry.backoff_max_delay_millis"
const KEY_BACKOFF_MAX_DELAY: &'static str = "retry.backoff_max_delay_millis"
Configuration key for exponential backoff maximum delay
Source§const KEY_BACKOFF_MULTIPLIER: &'static str = "retry.backoff_multiplier"
const KEY_BACKOFF_MULTIPLIER: &'static str = "retry.backoff_multiplier"
Configuration key for exponential backoff multiplier
Source§const KEY_JITTER_FACTOR: &'static str = "retry.jitter_factor"
const KEY_JITTER_FACTOR: &'static str = "retry.jitter_factor"
Configuration key for jitter factor
Source§const KEY_MAX_DURATION: &'static str = "retry.max_duration_millis"
const KEY_MAX_DURATION: &'static str = "retry.max_duration_millis"
Configuration key for maximum duration of retry execution
Source§const KEY_OPERATION_TIMEOUT: &'static str = "retry.operation_timeout_millis"
const KEY_OPERATION_TIMEOUT: &'static str = "retry.operation_timeout_millis"
Configuration key for single operation timeout
Source§const DEFAULT_MAX_ATTEMPTS: u32 = 5u32
const DEFAULT_MAX_ATTEMPTS: u32 = 5u32
Default maximum number of attempts for retry mechanism
Source§const DEFAULT_DELAY_STRATEGY: RetryDelayStrategy = _
const DEFAULT_DELAY_STRATEGY: RetryDelayStrategy = _
Default delay strategy
Source§const DEFAULT_FIXED_DELAY_MILLIS: u64 = 1_000u64
const DEFAULT_FIXED_DELAY_MILLIS: u64 = 1_000u64
Default fixed delay time in milliseconds
Source§const DEFAULT_RANDOM_MIN_DELAY_MILLIS: u64 = 1_000u64
const DEFAULT_RANDOM_MIN_DELAY_MILLIS: u64 = 1_000u64
Default random delay minimum value in milliseconds
Source§const DEFAULT_RANDOM_MAX_DELAY_MILLIS: u64 = 10_000u64
const DEFAULT_RANDOM_MAX_DELAY_MILLIS: u64 = 10_000u64
Default random delay maximum value in milliseconds
Source§const DEFAULT_BACKOFF_INITIAL_DELAY_MILLIS: u64 = 1_000u64
const DEFAULT_BACKOFF_INITIAL_DELAY_MILLIS: u64 = 1_000u64
Default exponential backoff initial delay in milliseconds
Source§const DEFAULT_BACKOFF_MAX_DELAY_MILLIS: u64 = 60_000u64
const DEFAULT_BACKOFF_MAX_DELAY_MILLIS: u64 = 60_000u64
Default exponential backoff maximum delay in milliseconds
Source§const DEFAULT_BACKOFF_MULTIPLIER: f64 = 2f64
const DEFAULT_BACKOFF_MULTIPLIER: f64 = 2f64
Default exponential backoff multiplier
Source§const DEFAULT_JITTER_FACTOR: f64 = 0f64
const DEFAULT_JITTER_FACTOR: f64 = 0f64
Default value for jitter factor
Source§const DEFAULT_MAX_DURATION_MILLIS: u64 = 0u64
const DEFAULT_MAX_DURATION_MILLIS: u64 = 0u64
Default maximum duration for retry execution in milliseconds, 0 means unlimited
Source§const DEFAULT_OPERATION_TIMEOUT_MILLIS: u64 = 0u64
const DEFAULT_OPERATION_TIMEOUT_MILLIS: u64 = 0u64
Default value for single operation timeout in milliseconds, 0 means unlimited
Source§fn set_random_delay_strategy(
&mut self,
min_delay: Duration,
max_delay: Duration,
) -> &mut Self
fn set_random_delay_strategy( &mut self, min_delay: Duration, max_delay: Duration, ) -> &mut Self
Set random delay range Read more
Source§fn set_fixed_delay_strategy(&mut self, delay: Duration) -> &mut Self
fn set_fixed_delay_strategy(&mut self, delay: Duration) -> &mut Self
Set fixed delay Read more
Source§fn set_exponential_backoff_strategy(
&mut self,
initial_delay: Duration,
max_delay: Duration,
multiplier: f64,
) -> &mut Self
fn set_exponential_backoff_strategy( &mut self, initial_delay: Duration, max_delay: Duration, multiplier: f64, ) -> &mut Self
Set exponential backoff strategy parameters Read more
Source§fn set_no_delay_strategy(&mut self) -> &mut Self
fn set_no_delay_strategy(&mut self) -> &mut Self
Set no delay strategy Read more
Source§fn set_unlimited_duration(&mut self) -> &mut Self
fn set_unlimited_duration(&mut self) -> &mut Self
Set unlimited duration Read more
Source§fn set_unlimited_operation_timeout(&mut self) -> &mut Self
fn set_unlimited_operation_timeout(&mut self) -> &mut Self
Set unlimited operation timeout Read more
Auto Trait Implementations§
impl Freeze for DefaultRetryConfig
impl RefUnwindSafe for DefaultRetryConfig
impl Send for DefaultRetryConfig
impl Sync for DefaultRetryConfig
impl Unpin for DefaultRetryConfig
impl UnwindSafe for DefaultRetryConfig
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