#[repr(u16)]pub enum MlsMessageBodyOut {
PublicMessage(PublicMessage),
PrivateMessage(PrivateMessage),
Welcome(Welcome),
GroupInfo(GroupInfo),
KeyPackage(KeyPackage),
}
Expand description
MLSMessage (Body)
Note: Because MlsMessageBodyOut already discriminates between
public_message
, private_message
, etc., we don’t use the
wire_format
field. This prevents inconsistent assignments
where wire_format
contradicts the variant given in body
.
// draft-ietf-mls-protocol-17
struct {
// ... continued from [MlsMessage] ...
WireFormat wire_format;
select (MLSMessage.wire_format) {
case mls_plaintext:
PublicMessage plaintext;
case mls_ciphertext:
PrivateMessage ciphertext;
case mls_welcome:
Welcome welcome;
case mls_group_info:
GroupInfo group_info;
case mls_key_package:
KeyPackage key_package;
}
} MLSMessage;
Variants§
PublicMessage(PublicMessage)
Plaintext message
PrivateMessage(PrivateMessage)
Ciphertext message
Welcome(Welcome)
Welcome message
GroupInfo(GroupInfo)
Group information
KeyPackage(KeyPackage)
KeyPackage
Trait Implementations§
Source§impl Clone for MlsMessageBodyOut
impl Clone for MlsMessageBodyOut
Source§fn clone(&self) -> MlsMessageBodyOut
fn clone(&self) -> MlsMessageBodyOut
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 moreSource§impl Debug for MlsMessageBodyOut
impl Debug for MlsMessageBodyOut
Source§impl PartialEq for MlsMessageBodyOut
impl PartialEq for MlsMessageBodyOut
Source§impl Serialize for &MlsMessageBodyOut
impl Serialize for &MlsMessageBodyOut
Source§impl Serialize for MlsMessageBodyOut
impl Serialize for MlsMessageBodyOut
Source§impl Size for &MlsMessageBodyOut
impl Size for &MlsMessageBodyOut
fn tls_serialized_len(&self) -> usize
Source§impl Size for MlsMessageBodyOut
impl Size for MlsMessageBodyOut
fn tls_serialized_len(&self) -> usize
impl StructuralPartialEq for MlsMessageBodyOut
Auto Trait Implementations§
impl Freeze for MlsMessageBodyOut
impl RefUnwindSafe for MlsMessageBodyOut
impl Send for MlsMessageBodyOut
impl Sync for MlsMessageBodyOut
impl Unpin for MlsMessageBodyOut
impl UnwindSafe for MlsMessageBodyOut
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
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