#[repr(u16)]pub enum MlsMessageBodyIn {
PublicMessage(PublicMessageIn),
PrivateMessage(PrivateMessageIn),
Welcome(Welcome),
GroupInfo(VerifiableGroupInfo),
KeyPackage(KeyPackageIn),
}Available on 32-bit or 64-bit only.
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 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 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>
Available on crate feature
std only.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 Serialize for &MlsMessageBodyIn
impl Serialize for &MlsMessageBodyIn
Source§impl Serialize for MlsMessageBodyIn
impl Serialize 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
§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