#[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 builder() -> DirToleranceBuilder
pub fn builder() -> DirToleranceBuilder
Return a new [DirTolerance Builder] to construct an instance of this type.
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 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 Buildable for DirTolerance
impl Buildable for DirTolerance
Source§type Builder = DirToleranceBuilder
type Builder = DirToleranceBuilder
Source§fn builder() -> DirToleranceBuilder
fn builder() -> DirToleranceBuilder
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 UnsafeUnpin 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<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