#[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>),
SelfRemove,
AppEphemeral(Box<AppEphemeralProposal>),
Custom(Box<CustomProposal>),
}Available on 32-bit or 64-bit only.
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>)
SelfRemove
AppEphemeral(Box<AppEphemeralProposal>)
Available on crate feature
extensions-draft-08 only.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
Source§impl From<ProposalIn> for Proposal
Available on crate features test-utils only.
impl From<ProposalIn> for Proposal
Available on crate features
test-utils only.Source§fn from(proposal: ProposalIn) -> Self
fn from(proposal: ProposalIn) -> Self
Converts to this type from the input type.
Source§impl Serialize for Proposal
impl Serialize for Proposal
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
§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