Enum openmls::prelude::ProcessedMessageContent
source · 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()
.