pub enum Propose {
Add(KeyPackage),
Update(LeafNodeParameters),
Remove(u32),
RemoveCredential(Credential),
PreSharedKey(PreSharedKeyId),
GroupContextExtensions(Extensions<GroupContext>),
UpdateAppDataComponent {
component_id: ComponentId,
update: Vec<u8>,
},
RemoveAppDataComponent {
component_id: ComponentId,
},
Custom(CustomProposal),
}Available on 32-bit or 64-bit only.
Expand description
Helper for building a proposal based on the raw values.
Variants§
Add(KeyPackage)
An add proposal requires a key package of the addee.
Update(LeafNodeParameters)
An update proposal requires a new leaf node.
An update proposal is always queued by reference as per RFC 9420 a member must not commit its own update proposal.
Remove(u32)
A remove proposal consists of the leaf index of the leaf to be removed.
RemoveCredential(Credential)
A remove proposal for the leaf with the credential.
A PSK proposal gets a pre shared key id.
GroupContextExtensions(Extensions<GroupContext>)
Propose adding new group context extensions.
UpdateAppDataComponent
Available on crate feature
extensions-draft only.Propose an update to a component in the
AppDataDictionary
Fields
§
component_id: ComponentIdThe component_id to update in the dictionary
RemoveAppDataComponent
Available on crate feature
extensions-draft only.Propose removal of a component in the
AppDataDictionary
Fields
§
component_id: ComponentIdThe component_id to remove in the dictionary
Custom(CustomProposal)
A custom proposal with semantics to be implemented by the application.
Trait Implementations§
impl StructuralPartialEq for Propose
Auto Trait Implementations§
impl Freeze for Propose
impl RefUnwindSafe for Propose
impl Send for Propose
impl Sync for Propose
impl Unpin for Propose
impl UnsafeUnpin for Propose
impl UnwindSafe for Propose
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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