pub struct UnresolvedAppDataCommit { /* private fields */ }extensions-draft and (32-bit or 64-bit) only.Expand description
A verified Commit covering AppDataUpdate proposals that cannot be staged yet.
The AppDataUpdate proposals carry diffs in an application-defined format,
so the application has to interpret them and compute the resulting
AppDataUpdates before the commit can be staged: the updated
AppDataDictionary becomes part of the new epoch’s GroupContext and
feeds into the key schedule.
Returned by MlsGroup::process_message() and
PublicGroup::process_message() as
ProcessedMessageContent::UnresolvedAppDataCommit. Inspect the proposals
via Self::app_data_update_proposals(), compute the updates with the
help of MlsGroup::app_data_dictionary_updater() (or
PublicGroup::app_data_dictionary_updater()) and resume staging via
MlsGroup::stage_app_data_commit() (or
PublicGroup::stage_app_data_commit()).
The message signature has already been verified at this point. Dropping this value discards the commit.
Implementations§
Source§impl UnresolvedAppDataCommit
impl UnresolvedAppDataCommit
Sourcepub fn app_data_update_proposals(
&self,
) -> impl Iterator<Item = &AppDataUpdateProposal>
pub fn app_data_update_proposals( &self, ) -> impl Iterator<Item = &AppDataUpdateProposal>
Returns the AppDataUpdate proposals covered by the commit, sorted by component id. Proposals that were committed by reference have already been resolved from the proposal store.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for UnresolvedAppDataCommit
impl RefUnwindSafe for UnresolvedAppDataCommit
impl Send for UnresolvedAppDataCommit
impl Sync for UnresolvedAppDataCommit
impl Unpin for UnresolvedAppDataCommit
impl UnsafeUnpin for UnresolvedAppDataCommit
impl UnwindSafe for UnresolvedAppDataCommit
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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