Enum MlsMessageInBody
#[repr(u16)]pub enum MlsMessageInBody {
PublicMessage(PublicMessageIn),
PrivateMessage(PrivateMessageIn),
Welcome(Welcome),
GroupInfo(VerifiableGroupInfo),
KeyPackage(KeyPackageIn),
}Expand description
MLSMessage (Body)
Note: Because MlsMessageInBody 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(PublicMessageIn)
Plaintext message
PrivateMessage(PrivateMessageIn)
Ciphertext message
Welcome(Welcome)
Welcome message
GroupInfo(VerifiableGroupInfo)
Group information
KeyPackage(KeyPackageIn)
KeyPackage
Trait Implementations§
§impl Clone for MlsMessageInBody
impl Clone for MlsMessageInBody
§fn clone(&self) -> MlsMessageInBody
fn clone(&self) -> MlsMessageInBody
Returns a duplicate 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 more§impl Debug for MlsMessageInBody
impl Debug for MlsMessageInBody
§impl Deserialize for MlsMessageInBody
impl Deserialize for MlsMessageInBody
§fn tls_deserialize<R>(bytes: &mut R) -> Result<MlsMessageInBody, Error>where
R: Read,
fn tls_deserialize<R>(bytes: &mut R) -> Result<MlsMessageInBody, Error>where
R: Read,
This function deserializes the
bytes from the provided a std::io::Read
and returns the populated struct. Read more§impl PartialEq for MlsMessageInBody
impl PartialEq for MlsMessageInBody
§impl Size for &MlsMessageInBody
impl Size for &MlsMessageInBody
fn tls_serialized_len(&self) -> usize
§impl Size for MlsMessageInBody
impl Size for MlsMessageInBody
fn tls_serialized_len(&self) -> usize
impl StructuralPartialEq for MlsMessageInBody
Auto Trait Implementations§
impl Freeze for MlsMessageInBody
impl RefUnwindSafe for MlsMessageInBody
impl Send for MlsMessageInBody
impl Sync for MlsMessageInBody
impl Unpin for MlsMessageInBody
impl UnsafeUnpin for MlsMessageInBody
impl UnwindSafe for MlsMessageInBody
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