#[non_exhaustive]pub struct DirTolerance { /* private fields */ }Expand description
Configuration for how much much to extend the official tolerances of our directory information.
Because of possible clock skew, and because we want to tolerate possible failures of the directory authorities to reach a consensus, we want to consider a directory to be valid for a while before and after its official range of validity.
TODO: Remove the Default because it is too tightly bound to a client.
Implementations§
Source§impl DirTolerance
impl DirTolerance
Sourcepub fn pre_valid_tolerance(&self) -> Duration
pub fn pre_valid_tolerance(&self) -> Duration
For how long before a directory document is valid should we accept it?
Having a nonzero value here allows us to tolerate a little clock skew.
Defaults to 1 day.
Sourcepub fn post_valid_tolerance(&self) -> Duration
pub fn post_valid_tolerance(&self) -> Duration
For how long after a directory document is valid should we consider it usable?
Having a nonzero value here allows us to tolerate a little clock skew, and makes us more robust to temporary failures for the directory authorities to reach consensus.
Defaults to 3 days (per prop212).
Source§impl DirTolerance
impl DirTolerance
Sourcepub fn builder() -> DirToleranceBuilder
pub fn builder() -> DirToleranceBuilder
Returns a fresh, default, builder
Source§impl DirTolerance
impl DirTolerance
Sourcepub fn extend_tolerance<B>(
&self,
timebound: TimerangeBound<B>,
) -> TimerangeBound<B>
pub fn extend_tolerance<B>( &self, timebound: TimerangeBound<B>, ) -> TimerangeBound<B>
Return a new TimerangeBound that extends the validity interval of
timebound according to this configuration.
Sourcepub fn extend_lifetime(&self, lifetime: &Lifetime) -> Lifetime
pub fn extend_lifetime(&self, lifetime: &Lifetime) -> Lifetime
Return a new consensus Lifetime that extends the validity intervals
of lifetime according to this configuration.
Trait Implementations§
Source§impl Clone for DirTolerance
impl Clone for DirTolerance
Source§fn clone(&self) -> DirTolerance
fn clone(&self) -> DirTolerance
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DirTolerance
impl Debug for DirTolerance
Source§impl Default for DirTolerance
impl Default for DirTolerance
Source§impl PartialEq for DirTolerance
impl PartialEq for DirTolerance
impl Eq for DirTolerance
impl StructuralPartialEq for DirTolerance
Auto Trait Implementations§
impl Freeze for DirTolerance
impl RefUnwindSafe for DirTolerance
impl Send for DirTolerance
impl Sync for DirTolerance
impl Unpin for DirTolerance
impl UnwindSafe for DirTolerance
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<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