pub struct DownloadSchedule {
attempts: NonZeroU32,
initial_delay: Duration,
parallelism: NonZeroU8,
}Expand description
Configuration for how many times to retry a download, with what frequency.
Fields§
§attempts: NonZeroU32How many attempts to make before giving up?
initial_delay: DurationThe amount of time to delay after the first failure, and a lower-bound for future delays.
parallelism: NonZeroU8When we want to download a bunch of these at a time, how many attempts should we try to launch at once?
Implementations§
Source§impl DownloadSchedule
impl DownloadSchedule
Sourcepub fn builder() -> DownloadScheduleBuilder
pub fn builder() -> DownloadScheduleBuilder
Return a new [DownloadSchedule Builder] to construct an instance of this type.
Source§impl DownloadSchedule
impl DownloadSchedule
Sourcepub fn attempts(&self) -> impl Iterator<Item = u32> + use<>
pub fn attempts(&self) -> impl Iterator<Item = u32> + use<>
Return an iterator to use over all the supported attempts for this configuration.
Sourcepub fn n_attempts(&self) -> u32
pub fn n_attempts(&self) -> u32
Return the number of times that we’re supposed to retry, according to this DownloadSchedule.
Sourcepub fn parallelism(&self) -> u8
pub fn parallelism(&self) -> u8
Return the number of parallel attempts that we’re supposed to launch, according to this DownloadSchedule.
Sourcepub fn schedule(&self) -> RetryDelay
pub fn schedule(&self) -> RetryDelay
Return a RetryDelay object for this configuration.
If the initial delay is longer than 32
Trait Implementations§
Source§impl Buildable for DownloadSchedule
impl Buildable for DownloadSchedule
Source§type Builder = DownloadScheduleBuilder
type Builder = DownloadScheduleBuilder
Source§fn builder() -> DownloadScheduleBuilder
fn builder() -> DownloadScheduleBuilder
Source§impl Clone for DownloadSchedule
impl Clone for DownloadSchedule
Source§fn clone(&self) -> DownloadSchedule
fn clone(&self) -> DownloadSchedule
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DownloadSchedule
impl Debug for DownloadSchedule
Source§impl Default for DownloadSchedule
impl Default for DownloadSchedule
Source§impl PartialEq for DownloadSchedule
impl PartialEq for DownloadSchedule
Source§fn eq(&self, other: &DownloadSchedule) -> bool
fn eq(&self, other: &DownloadSchedule) -> bool
self and other values to be equal, and is used by ==.impl Copy for DownloadSchedule
impl Eq for DownloadSchedule
impl StructuralPartialEq for DownloadSchedule
Auto Trait Implementations§
impl Freeze for DownloadSchedule
impl RefUnwindSafe for DownloadSchedule
impl Send for DownloadSchedule
impl Sync for DownloadSchedule
impl Unpin for DownloadSchedule
impl UnsafeUnpin for DownloadSchedule
impl UnwindSafe for DownloadSchedule
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more