pub struct GenerationId(/* private fields */);Available on crate feature
extensions-draft and crate feature virtual-clients-draft and (32-bit or 64-bit) only.Expand description
A per-message generation ID a virtual client attaches to a fanned-out PrivateMessage so a strongly-consistent DS can detect generation collisions between siblings, per higher-level group, per higher-level group epoch, and per ratchet type (mls-virtual-clients draft).
Derived from the emulation epoch’s GenerationIdSecret over a
PrivateMessageContext. The value is opaque to the application: it is
produced by MlsGroup::create_unconfirmed_message and handed to the DS,
which compares it for equality across siblings.
Implementations§
Trait Implementations§
Source§impl Clone for GenerationId
impl Clone for GenerationId
Source§fn clone(&self) -> GenerationId
fn clone(&self) -> GenerationId
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GenerationId
impl Debug for GenerationId
Source§impl DeserializeBytes for GenerationId
impl DeserializeBytes for GenerationId
impl Eq for GenerationId
Source§impl PartialEq for GenerationId
impl PartialEq for GenerationId
Source§fn eq(&self, other: &GenerationId) -> bool
fn eq(&self, other: &GenerationId) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for GenerationId
impl Serialize for GenerationId
Source§impl Serialize for &GenerationId
impl Serialize for &GenerationId
Source§impl Size for GenerationId
impl Size for GenerationId
fn tls_serialized_len(&self) -> usize
Source§impl Size for &GenerationId
impl Size for &GenerationId
fn tls_serialized_len(&self) -> usize
impl StructuralPartialEq for GenerationId
Auto Trait Implementations§
impl Freeze for GenerationId
impl RefUnwindSafe for GenerationId
impl Send for GenerationId
impl Sync for GenerationId
impl Unpin for GenerationId
impl UnsafeUnpin for GenerationId
impl UnwindSafe for GenerationId
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
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