Struct backon::FibonacciBuilder
source · pub struct FibonacciBuilder { /* private fields */ }
Expand description
FibonacciBuilder is used to build a FibonacciBackoff
§Default
- jitter: false
- min_delay: 1s
- max_delay: 60s
- max_times: 3
§Examples
use anyhow::Result;
use backon::FibonacciBuilder;
use backon::Retryable;
async fn fetch() -> Result<String> {
Ok(reqwest::get("https://www.rust-lang.org")
.await?
.text()
.await?)
}
#[tokio::main(flavor = "current_thread")]
async fn main() -> Result<()> {
let content = fetch.retry(&FibonacciBuilder::default()).await?;
println!("fetch succeeded: {}", content);
Ok(())
}
Implementations§
source§impl FibonacciBuilder
impl FibonacciBuilder
sourcepub fn with_jitter(self) -> Self
pub fn with_jitter(self) -> Self
Set jitter of current backoff.
If jitter is enabled, FibonacciBackoff will add a random jitter in `[0, min_delay) to current delay.
sourcepub fn with_min_delay(self, min_delay: Duration) -> Self
pub fn with_min_delay(self, min_delay: Duration) -> Self
Set min_delay of current backoff.
sourcepub fn with_max_delay(self, max_delay: Duration) -> Self
pub fn with_max_delay(self, max_delay: Duration) -> Self
Set max_delay of current backoff.
Delay will not increasing if current delay is larger than max_delay.
sourcepub fn with_max_times(self, max_times: usize) -> Self
pub fn with_max_times(self, max_times: usize) -> Self
Set max_times of current backoff.
Backoff will return None
if max times is reaching.
Trait Implementations§
source§impl BackoffBuilder for FibonacciBuilder
impl BackoffBuilder for FibonacciBuilder
source§impl Clone for FibonacciBuilder
impl Clone for FibonacciBuilder
source§fn clone(&self) -> FibonacciBuilder
fn clone(&self) -> FibonacciBuilder
Returns a copy 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 FibonacciBuilder
impl Debug for FibonacciBuilder
Auto Trait Implementations§
impl Freeze for FibonacciBuilder
impl RefUnwindSafe for FibonacciBuilder
impl Send for FibonacciBuilder
impl Sync for FibonacciBuilder
impl Unpin for FibonacciBuilder
impl UnwindSafe for FibonacciBuilder
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