#[repr(u16)]pub enum Proposal {
Add(AddProposal),
Update(UpdateProposal),
Remove(RemoveProposal),
PreSharedKey(PreSharedKeyProposal),
ReInit(ReInitProposal),
ExternalInit(ExternalInitProposal),
GroupContextExtensions(GroupContextExtensionProposal),
AppAck(AppAckProposal),
SelfRemove,
Custom(CustomProposal),
}
Expand description
Proposal.
This enum
contains the different proposals in its variants.
// draft-ietf-mls-protocol-17
struct {
ProposalType msg_type;
select (Proposal.msg_type) {
case add: Add;
case update: Update;
case remove: Remove;
case psk: PreSharedKey;
case reinit: ReInit;
case external_init: ExternalInit;
case group_context_extensions: GroupContextExtensions;
};
} Proposal;
Variants§
Add(AddProposal)
Update(UpdateProposal)
Remove(RemoveProposal)
ReInit(ReInitProposal)
ExternalInit(ExternalInitProposal)
GroupContextExtensions(GroupContextExtensionProposal)
AppAck(AppAckProposal)
SelfRemove
Custom(CustomProposal)
Implementations§
Source§impl Proposal
impl Proposal
Sourcepub fn proposal_type(&self) -> ProposalType
pub fn proposal_type(&self) -> ProposalType
Returns the proposal type.
Sourcepub fn is_path_required(&self) -> bool
pub fn is_path_required(&self) -> bool
Indicates whether a Commit containing this Proposal requires a path.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Proposal
impl<'de> Deserialize<'de> for Proposal
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 From<Proposal> for ProposalIn
impl From<Proposal> for ProposalIn
impl StructuralPartialEq for Proposal
Auto Trait Implementations§
impl Freeze for Proposal
impl RefUnwindSafe for Proposal
impl Send for Proposal
impl Sync for Proposal
impl Unpin for Proposal
impl UnwindSafe for Proposal
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