pub struct HandshakeConfirmationData {
pub epoch: GroupEpoch,
pub generation: u32,
pub generation_id: Option<GenerationId>,
}Available on crate feature
virtual-clients-draft and (32-bit or 64-bit) only.Expand description
Bookkeeping a virtual client needs to confirm a handshake message (proposal or commit) that was framed as a PrivateMessage.
Pass epoch and generation to MlsGroup::confirm_handshake_message
once the DS has accepted the message, to delete the retained handshake
secret. generation_id is present when the group is bound to an emulation
epoch and is attached to the fanned-out message so a strongly-consistent DS
can detect generation collisions between siblings; it is None otherwise.
Fields§
§epoch: GroupEpochThe epoch the message was encrypted in, which is the epoch before a commit is merged.
generation: u32The handshake-ratchet generation used for encryption.
generation_id: Option<GenerationId>The GenerationId to attach to the fanned-out message, present when
the group is bound to an emulation epoch and None otherwise.
Trait Implementations§
Source§impl Clone for HandshakeConfirmationData
impl Clone for HandshakeConfirmationData
Source§fn clone(&self) -> HandshakeConfirmationData
fn clone(&self) -> HandshakeConfirmationData
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 moreAuto Trait Implementations§
impl Freeze for HandshakeConfirmationData
impl RefUnwindSafe for HandshakeConfirmationData
impl Send for HandshakeConfirmationData
impl Sync for HandshakeConfirmationData
impl Unpin for HandshakeConfirmationData
impl UnsafeUnpin for HandshakeConfirmationData
impl UnwindSafe for HandshakeConfirmationData
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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