pub struct RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S: State = Empty>where
F: FnMut() -> Fut,
Fut: Future<Output = Result<T, E>>,
I1: Fn(&E) -> bool,
I2: Fn(RetryError) -> E,
E: Error,{ /* private fields */ }Expand description
Use builder syntax to set the inputs and finish with execute().
Implementations§
Source§impl<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S: State> RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S>
impl<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S: State> RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S>
Sourcepub async fn execute(self) -> Result<T, E>where
S: IsComplete,
pub async fn execute(self) -> Result<T, E>where
S: IsComplete,
Finishes building and performs the requested action.
Sourcepub fn retry_delay(
self,
value: &'f3 (dyn Fn(&E) -> Option<Duration> + Sync),
) -> RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, SetRetryDelay<S>>where
S::RetryDelay: IsUnset,
pub fn retry_delay(
self,
value: &'f3 (dyn Fn(&E) -> Option<Duration> + Sync),
) -> RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, SetRetryDelay<S>>where
S::RetryDelay: IsUnset,
Sourcepub fn maybe_retry_delay(
self,
value: Option<&'f3 (dyn Fn(&E) -> Option<Duration> + Sync)>,
) -> RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, SetRetryDelay<S>>where
S::RetryDelay: IsUnset,
pub fn maybe_retry_delay(
self,
value: Option<&'f3 (dyn Fn(&E) -> Option<Duration> + Sync)>,
) -> RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, SetRetryDelay<S>>where
S::RetryDelay: IsUnset,
Sourcepub fn cancellation_token(
self,
value: &'f4 CancellationToken,
) -> RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, SetCancellationToken<S>>where
S::CancellationToken: IsUnset,
pub fn cancellation_token(
self,
value: &'f4 CancellationToken,
) -> RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, SetCancellationToken<S>>where
S::CancellationToken: IsUnset,
Sourcepub fn maybe_cancellation_token(
self,
value: Option<&'f4 CancellationToken>,
) -> RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, SetCancellationToken<S>>where
S::CancellationToken: IsUnset,
pub fn maybe_cancellation_token(
self,
value: Option<&'f4 CancellationToken>,
) -> RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, SetCancellationToken<S>>where
S::CancellationToken: IsUnset,
Auto Trait Implementations§
impl<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S = Empty> !RefUnwindSafe for RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S>
impl<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S = Empty> !UnwindSafe for RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S>
impl<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S> Freeze for RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S>where
PhantomData<(fn() -> S, &'f1 (), &'f2 (), &'f3 (), &'f4 (), fn() -> PhantomData<RetryManager<E>>, fn() -> PhantomData<E>, fn() -> PhantomData<F>, fn() -> PhantomData<Fut>, fn() -> PhantomData<T>, fn() -> PhantomData<I1>, fn() -> PhantomData<I2>)>: Freeze,
&'f1 RetryManager<E>: Freeze,
F: Freeze,
I1: Freeze,
I2: Freeze,
(Option<&'f3 (dyn Fn(&E) -> Option<Duration> + Sync)>, Option<&'f4 CancellationToken>): Freeze,
impl<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S> Send for RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S>where
PhantomData<(fn() -> S, &'f1 (), &'f2 (), &'f3 (), &'f4 (), fn() -> PhantomData<RetryManager<E>>, fn() -> PhantomData<E>, fn() -> PhantomData<F>, fn() -> PhantomData<Fut>, fn() -> PhantomData<T>, fn() -> PhantomData<I1>, fn() -> PhantomData<I2>)>: Send,
&'f1 RetryManager<E>: Send,
F: Send,
I1: Send,
I2: Send,
(Option<&'f3 (dyn Fn(&E) -> Option<Duration> + Sync)>, Option<&'f4 CancellationToken>): Send,
impl<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S> Sync for RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S>where
PhantomData<(fn() -> S, &'f1 (), &'f2 (), &'f3 (), &'f4 (), fn() -> PhantomData<RetryManager<E>>, fn() -> PhantomData<E>, fn() -> PhantomData<F>, fn() -> PhantomData<Fut>, fn() -> PhantomData<T>, fn() -> PhantomData<I1>, fn() -> PhantomData<I2>)>: Sync,
&'f1 RetryManager<E>: Sync,
F: Sync,
I1: Sync,
I2: Sync,
(Option<&'f3 (dyn Fn(&E) -> Option<Duration> + Sync)>, Option<&'f4 CancellationToken>): Sync,
impl<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S> Unpin for RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S>where
PhantomData<(fn() -> S, &'f1 (), &'f2 (), &'f3 (), &'f4 (), fn() -> PhantomData<RetryManager<E>>, fn() -> PhantomData<E>, fn() -> PhantomData<F>, fn() -> PhantomData<Fut>, fn() -> PhantomData<T>, fn() -> PhantomData<I1>, fn() -> PhantomData<I2>)>: Unpin,
&'f1 RetryManager<E>: Unpin,
F: Unpin,
I1: Unpin,
I2: Unpin,
(Option<&'f3 (dyn Fn(&E) -> Option<Duration> + Sync)>, Option<&'f4 CancellationToken>): Unpin,
impl<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S> UnsafeUnpin for RetryManagerInvocationBuilder<'f1, 'f2, 'f3, 'f4, E, F, Fut, T, I1, I2, S>where
PhantomData<(fn() -> S, &'f1 (), &'f2 (), &'f3 (), &'f4 (), fn() -> PhantomData<RetryManager<E>>, fn() -> PhantomData<E>, fn() -> PhantomData<F>, fn() -> PhantomData<Fut>, fn() -> PhantomData<T>, fn() -> PhantomData<I1>, fn() -> PhantomData<I2>)>: UnsafeUnpin,
&'f1 RetryManager<E>: UnsafeUnpin,
F: UnsafeUnpin,
I1: UnsafeUnpin,
I2: UnsafeUnpin,
(Option<&'f3 (dyn Fn(&E) -> Option<Duration> + Sync)>, Option<&'f4 CancellationToken>): UnsafeUnpin,
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