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]
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 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