#[repr(u16)]pub enum Proposal {
Add(Box<AddProposal>),
Update(Box<UpdateProposal>),
Remove(Box<RemoveProposal>),
PreSharedKey(Box<PreSharedKeyProposal>),
ReInit(Box<ReInitProposal>),
ExternalInit(Box<ExternalInitProposal>),
GroupContextExtensions(Box<GroupContextExtensionProposal>),
AppAck(Box<AppAckProposal>),
SelfRemove,
Custom(Box<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(Box<AddProposal>)
Update(Box<UpdateProposal>)
Remove(Box<RemoveProposal>)
ReInit(Box<ReInitProposal>)
ExternalInit(Box<ExternalInitProposal>)
GroupContextExtensions(Box<GroupContextExtensionProposal>)
AppAck(Box<AppAckProposal>)
SelfRemove
Custom(Box<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