Skip to main content

Module conversation

Module conversation 

Source
Expand description

MLS groups (aka conversation) are the actual entities cementing all the participants in a conversation.

This table summarizes what operations are permitted on a group depending its state: (PP=pending proposal, PC=pending commit)

can I ?0 PP / 0 PC1+ PP / 0 PC0 PP / 1 PC1+ PP / 1 PC
encrypt
handshake
merge
decrypt

Structs§

BufferedCommit
The data relevant after a buffered Commit was processed.
Commit
The data relevant after a Commit was processed.
CommitBundle
Returned when a commit is created
Conversation
A Conversation exposes the read-only interface of an MLS conversation.
ConversationConfiguration
The configuration parameters for a group/conversation
ConversationId
A unique identifier for a group/conversation. The identifier must be unique within a client.
ConversationIdRef
Reference to a ConversationId.
ConversationMut
A mutable view of an MLS conversation.
CustomConfiguration
The configuration parameters for a group/conversation which are not handled natively by openmls
GroupInfoBundle
A [GroupInfo] with metadata
Proposal
The data relevant after a Proposal was processed.
SecretKey
A secret key derived from the group secret.
Text
A decrypted MLS application message
WelcomeMessage
A Welcome Message as defined in RFC 9420.

Enums§

BufferedDecryptedMessage
A decrypted message that was buffered due to out-of-order delivery by the delivery service. It represents messages for the new epoch that arrived before the commit that created it.
DecryptedMessage
Represents the potential items a consumer might require after passing us an encrypted message we have decrypted for him
Error
GroupInfoEncryptionType
GroupInfoEncryptionType
GroupInfoPayload
Represents the byte array in GroupInfoBundle
RatchetTreeType
RatchetTreeType
TargetedMessagePolicy
The policy to encrypt the targeted message with.
WirePolicy
Wrapper over [WireFormatPolicy]

Type Aliases§

Result