#[repr(u16)]pub enum ProposalIn {
Add(Box<AddProposalIn>),
Update(Box<UpdateProposalIn>),
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<AddProposalIn>)
Update(Box<UpdateProposalIn>)
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 ProposalIn
impl ProposalIn
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 ProposalIn requires a path.
Trait Implementations§
Source§impl Clone for ProposalIn
impl Clone for ProposalIn
Source§fn clone(&self) -> ProposalIn
fn clone(&self) -> ProposalIn
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 ProposalIn
impl Debug for ProposalIn
Source§impl<'de> Deserialize<'de> for ProposalIn
impl<'de> Deserialize<'de> for ProposalIn
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 ProposalIn
impl Deserialize for ProposalIn
Source§fn tls_deserialize<R: Read>(bytes: &mut R) -> Result<Self, Error>where
Self: Sized,
fn tls_deserialize<R: Read>(bytes: &mut R) -> Result<Self, Error>where
Self: Sized,
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 ProposalIn
impl DeserializeBytes for ProposalIn
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 PartialEq for ProposalIn
impl PartialEq for ProposalIn
Source§impl Serialize for &ProposalIn
impl Serialize for &ProposalIn
Source§impl Serialize for ProposalIn
impl Serialize for ProposalIn
Source§impl Serialize for ProposalIn
impl Serialize for ProposalIn
Source§impl Size for &ProposalIn
impl Size for &ProposalIn
fn tls_serialized_len(&self) -> usize
Source§impl Size for ProposalIn
impl Size for ProposalIn
fn tls_serialized_len(&self) -> usize
impl StructuralPartialEq for ProposalIn
Auto Trait Implementations§
impl Freeze for ProposalIn
impl RefUnwindSafe for ProposalIn
impl Send for ProposalIn
impl Sync for ProposalIn
impl Unpin for ProposalIn
impl UnwindSafe for ProposalIn
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