pub struct RetryConfig {
pub max_retries: u32,
pub mechanism: RetryMechanism,
pub dead_letter_exchange: Option<String>,
pub dead_letter_queue: Option<String>,
}Expand description
Simple retry configuration
Fields§
§max_retries: u32Maximum number of retry attempts (0 means no retries)
mechanism: RetryMechanismRetry mechanism to use
dead_letter_exchange: Option<String>Dead letter exchange for messages that exceed max retries If None, uses default: “{queue_name}.dlx”
dead_letter_queue: Option<String>Dead letter queue for permanently failed messages If None, uses default: “{queue_name}.dlq”
Implementations§
Source§impl RetryConfig
impl RetryConfig
Sourcepub fn exponential_default() -> Self
pub fn exponential_default() -> Self
Create exponential retry: 1s -> 2s -> 4s -> 8s -> 16s (max 5 retries)
Sourcepub fn exponential(
max_retries: u32,
base_delay: Duration,
max_delay: Duration,
) -> Self
pub fn exponential( max_retries: u32, base_delay: Duration, max_delay: Duration, ) -> Self
Create exponential retry with custom parameters
Sourcepub fn linear(max_retries: u32, delay: Duration) -> Self
pub fn linear(max_retries: u32, delay: Duration) -> Self
Create linear retry: same delay for each attempt
Sourcepub fn custom(delays: Vec<Duration>) -> Self
pub fn custom(delays: Vec<Duration>) -> Self
Create custom retry with specific delays for each attempt
Sourcepub fn with_dead_letter(self, exchange: String, queue: String) -> Self
pub fn with_dead_letter(self, exchange: String, queue: String) -> Self
Set custom dead letter exchange and queue names
Sourcepub fn calculate_delay(&self, attempt: u32) -> Option<Duration>
pub fn calculate_delay(&self, attempt: u32) -> Option<Duration>
Calculate delay for a specific retry attempt (0-indexed)
Sourcepub fn get_dead_letter_exchange(&self, queue_name: &str) -> String
pub fn get_dead_letter_exchange(&self, queue_name: &str) -> String
Get dead letter exchange name (with fallback to default)
Sourcepub fn get_dead_letter_queue(&self, queue_name: &str) -> String
pub fn get_dead_letter_queue(&self, queue_name: &str) -> String
Get dead letter queue name (with fallback to default)
Sourcepub fn get_retry_queue_name(&self, queue_name: &str, attempt: u32) -> String
pub fn get_retry_queue_name(&self, queue_name: &str, attempt: u32) -> String
Generate retry queue name for delayed messages
Trait Implementations§
Source§impl Clone for RetryConfig
impl Clone for RetryConfig
Source§fn clone(&self) -> RetryConfig
fn clone(&self) -> RetryConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more