#[repr(u8)]pub enum Sender {
Member(LeafNodeIndex),
External(SenderExtensionIndex),
NewMemberProposal,
NewMemberCommit,
}
Expand description
All possible sender types according to the MLS protocol spec.
// draft-ietf-mls-protocol-16
enum {
reserved(0),
member(1),
external(2),
new_member_proposal(3),
new_member_commit(4),
(255)
} SenderType;
// draft-ietf-mls-protocol-16
struct {
SenderType sender_type;
select (Sender.sender_type) {
case member:
uint32 leaf_index;
case external:
uint32 sender_index;
case new_member_commit:
case new_member_proposal:
struct{};
}
} Sender;
Variants§
Member(LeafNodeIndex)
The sender is a member of the group
External(SenderExtensionIndex)
The sender is not a member of the group and has an external value instead The index refers to the crate::extensions::ExternalSendersExtension and is 0 indexed
NewMemberProposal
The sender is a new member of the group that joins itself through an External Add proposal
NewMemberCommit
The sender is a new member of the group that joins itself through an External Commit
Trait Implementations§
source§impl<'de> Deserialize<'de> for Sender
impl<'de> Deserialize<'de> for Sender
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Deserialize for Sender
impl Deserialize for Sender
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 PartialEq<Sender> for Sender
impl PartialEq<Sender> for Sender
source§impl Serialize for &Sender
impl Serialize for &Sender
source§impl Serialize for Sender
impl Serialize for Sender
impl Eq for Sender
impl StructuralEq for Sender
impl StructuralPartialEq for Sender
Auto Trait Implementations§
impl RefUnwindSafe for Sender
impl Send for Sender
impl Sync for Sender
impl Unpin for Sender
impl UnwindSafe for Sender
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