Struct tor_netdoc::doc::netstatus::SharedRandStatus
source · #[non_exhaustive]pub struct SharedRandStatus {
pub n_reveals: u8,
pub value: SharedRandVal,
pub timestamp: Option<SystemTime>,
}
Expand description
A shared-random value produced by the directory authorities, along with meta-information about that value.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.n_reveals: u8
Available on crate feature
dangerous-expose-struct-fields
only.How many authorities revealed shares that contributed to this value.
value: SharedRandVal
Available on crate feature
dangerous-expose-struct-fields
only.The current random value.
The properties of the secure shared-random system guarantee that this value isn’t predictable before it first becomes live, and that a hostile party could not have forced it to have any more than a small number of possible random values.
timestamp: Option<SystemTime>
Available on crate feature
dangerous-expose-struct-fields
only.The time when this SharedRandVal becomes (or became) the latest.
(This is added per proposal 342, assuming that gets accepted.)
Implementations§
sourcepub fn value(&self) -> &SharedRandVal
pub fn value(&self) -> &SharedRandVal
Return the actual shared random value.
sourcepub fn timestamp(&self) -> Option<SystemTime>
pub fn timestamp(&self) -> Option<SystemTime>
Return the timestamp (if any) associated with this SharedRandValue
.
Trait Implementations§
source§fn clone(&self) -> SharedRandStatus
fn clone(&self) -> SharedRandStatus
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 moreAuto Trait Implementations§
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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