Struct google_cloud_bigquery::query::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) -> FibonacciBuilder
pub fn with_jitter(self) -> FibonacciBuilder
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) -> FibonacciBuilder
pub fn with_min_delay(self, min_delay: Duration) -> FibonacciBuilder
Set min_delay of current backoff.
sourcepub fn with_max_delay(self, max_delay: Duration) -> FibonacciBuilder
pub fn with_max_delay(self, max_delay: Duration) -> FibonacciBuilder
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) -> FibonacciBuilder
pub fn with_max_times(self, max_times: usize) -> FibonacciBuilder
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
§type Backoff = FibonacciBackoff
type Backoff = FibonacciBackoff
The associated backoff that returned by this builder.
source§fn build(&self) -> <FibonacciBuilder as BackoffBuilder>::Backoff
fn build(&self) -> <FibonacciBuilder as BackoffBuilder>::Backoff
Builder a new backoff via builder.
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
source§impl Default for FibonacciBuilder
impl Default for FibonacciBuilder
source§fn default() -> FibonacciBuilder
fn default() -> FibonacciBuilder
Returns the “default value” for a type. Read more
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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request