#[non_exhaustive]pub struct CommitOutput {
pub commit_message: MlsMessage,
pub welcome_messages: Vec<MlsMessage>,
pub ratchet_tree: Option<ExportedTree<'static>>,
pub external_commit_group_info: Option<MlsMessage>,
pub unused_proposals: Vec<ProposalInfo<Proposal>>,
pub contains_update_path: bool,
}
Expand description
Result of MLS commit operation using
Group::commit
or
CommitBuilder::build
.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.commit_message: MlsMessage
Commit message to send to other group members.
welcome_messages: Vec<MlsMessage>
Welcome messages to send to new group members. If the commit does not add members,
this list is empty. Otherwise, if MlsRules::commit_options
returns single_welcome_message
set to true, then this list contains a single message sent to all members. Else, the list
contains one message for each added member. Recipients of each message can be identified using
MlsMessage::key_package_reference
of their key packages and
MlsMessage::welcome_key_package_references
.
ratchet_tree: Option<ExportedTree<'static>>
Ratchet tree that can be sent out of band if
ratchet_tree_extension
is not used according to
MlsRules::commit_options
.
external_commit_group_info: Option<MlsMessage>
A group info that can be provided to new members in order to enable external commit
functionality. This value is set if MlsRules::commit_options
returns
allow_external_commit
set to true.
unused_proposals: Vec<ProposalInfo<Proposal>>
Proposals that were received in the prior epoch but not included in the following commit.
contains_update_path: bool
Indicator that the commit contains a path update
Trait Implementations§
Source§impl Clone for CommitOutput
impl Clone for CommitOutput
Source§fn clone(&self) -> CommitOutput
fn clone(&self) -> CommitOutput
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for CommitOutput
impl RefUnwindSafe for CommitOutput
impl Send for CommitOutput
impl Sync for CommitOutput
impl Unpin for CommitOutput
impl UnwindSafe for CommitOutput
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
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>
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>
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