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