pub enum ProcessedMessageContent {
ApplicationMessage(ApplicationMessage),
ProposalMessage(Box<QueuedProposal>),
ExternalJoinProposalMessage(Box<QueuedProposal>),
StagedCommitMessage(Box<StagedCommit>),
}Expand description
Content of a processed message.
See the content variants’ documentation for more information.
StagedCommit and QueuedProposal can be inspected for authorization purposes.
Variants§
ApplicationMessage(ApplicationMessage)
An application message.
The ApplicationMessage contains a vector of bytes that can be used right-away.
ProposalMessage(Box<QueuedProposal>)
A standalone proposal.
The QueuedProposal can be inspected for authorization purposes by the application.
If the proposal is deemed to be allowed, it should be added to the group’s proposal
queue using MlsGroup::store_pending_proposal().
ExternalJoinProposalMessage(Box<QueuedProposal>)
An external join proposal sent by a NewMemberProposal sender which is outside the group.
Since this originates from a party outside the group, the QueuedProposal SHOULD be
inspected for authorization purposes by the application. If the proposal is deemed to be
allowed, it should be added to the group’s proposal queue using
MlsGroup::store_pending_proposal().
StagedCommitMessage(Box<StagedCommit>)
A Commit message.
The StagedCommit can be inspected for authorization purposes by the application.
If the type of the commit and the proposals it covers are deemed to be allowed,
the commit should be merged into the group’s state using
MlsGroup::merge_staged_commit().
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ProcessedMessageContent
impl RefUnwindSafe for ProcessedMessageContent
impl Send for ProcessedMessageContent
impl Sync for ProcessedMessageContent
impl Unpin for ProcessedMessageContent
impl UnwindSafe for ProcessedMessageContent
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<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
§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>
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