pub struct ReconnectConfig {
pub max_retries: u32,
pub retry_interval: Duration,
pub backoff_multiplier: f32,
}Expand description
Reconnection configuration
Configures automatic reconnection behavior. By default, auto-reconnect is disabled to avoid masking hardware issues.
§Example
use canlink_hal::monitor::ReconnectConfig;
use std::time::Duration;
let config = ReconnectConfig {
max_retries: 5,
retry_interval: Duration::from_secs(2),
backoff_multiplier: 1.5,
};Fields§
§max_retries: u32Maximum number of reconnection attempts
Set to 0 for unlimited retries.
retry_interval: DurationInitial interval between reconnection attempts
backoff_multiplier: f32Backoff multiplier for exponential backoff
After each failed attempt, the interval is multiplied by this value. Set to 1.0 for fixed intervals.
Implementations§
Source§impl ReconnectConfig
impl ReconnectConfig
Sourcepub fn fixed_interval(max_retries: u32, interval: Duration) -> Self
pub fn fixed_interval(max_retries: u32, interval: Duration) -> Self
Create a config with fixed retry interval (no backoff)
Sourcepub fn exponential_backoff(
max_retries: u32,
initial_interval: Duration,
multiplier: f32,
) -> Self
pub fn exponential_backoff( max_retries: u32, initial_interval: Duration, multiplier: f32, ) -> Self
Create a config with exponential backoff
Sourcepub fn interval_for_attempt(&self, attempt: u32) -> Duration
pub fn interval_for_attempt(&self, attempt: u32) -> Duration
Calculate the interval for a given retry attempt
Sourcepub fn should_retry(&self, current_attempt: u32) -> bool
pub fn should_retry(&self, current_attempt: u32) -> bool
Check if more retries are allowed
Trait Implementations§
Source§impl Clone for ReconnectConfig
impl Clone for ReconnectConfig
Source§fn clone(&self) -> ReconnectConfig
fn clone(&self) -> ReconnectConfig
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 Debug for ReconnectConfig
impl Debug for ReconnectConfig
Auto Trait Implementations§
impl Freeze for ReconnectConfig
impl RefUnwindSafe for ReconnectConfig
impl Send for ReconnectConfig
impl Sync for ReconnectConfig
impl Unpin for ReconnectConfig
impl UnsafeUnpin for ReconnectConfig
impl UnwindSafe for ReconnectConfig
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