pub struct ReconnectPolicy { /* private fields */ }Expand description
重连策略:指数退避
每次重连失败后,等待时间翻倍,直到达到最大等待时间。 成功连接后重置。
Implementations§
Source§impl ReconnectPolicy
impl ReconnectPolicy
Sourcepub fn new(
base_delay: Duration,
max_delay: Duration,
max_retries: Option<u32>,
) -> Self
pub fn new( base_delay: Duration, max_delay: Duration, max_retries: Option<u32>, ) -> Self
创建新的重连策略
base_delay: 首次重连等待时间max_delay: 最大等待时间上限max_retries: 最大重试次数,None 表示无限重试
Sourcepub fn default_policy() -> Self
pub fn default_policy() -> Self
默认策略:1秒起始,30秒上限,无限重试
Sourcepub fn next_delay(&mut self) -> Option<Duration>
pub fn next_delay(&mut self) -> Option<Duration>
获取下一次重连的等待时间
返回 None 表示已达到最大重试次数,应停止重连。
Trait Implementations§
Source§impl Clone for ReconnectPolicy
impl Clone for ReconnectPolicy
Source§fn clone(&self) -> ReconnectPolicy
fn clone(&self) -> ReconnectPolicy
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 moreAuto Trait Implementations§
impl Freeze for ReconnectPolicy
impl RefUnwindSafe for ReconnectPolicy
impl Send for ReconnectPolicy
impl Sync for ReconnectPolicy
impl Unpin for ReconnectPolicy
impl UnwindSafe for ReconnectPolicy
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