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§

source§

impl Debug for ProcessedMessageContent

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.