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 PC | 1+ PP / 0 PC | 0 PP / 1 PC | 1+ PP / 1 PC |
|---|---|---|---|---|
| encrypt | ✅ | ❌ | ❌ | ❌ |
| handshake | ✅ | ✅ | ❌ | ❌ |
| merge | ❌ | ❌ | ✅ | ✅ |
| decrypt | ✅ | ✅ | ✅ | ✅ |
Structs§
- Conversation
Guard - A Conversation Guard wraps a
GroupStoreValue<MlsConversation>. - Conversation
Id - A unique identifier for a group/conversation. The identifier must be unique within a client.
- Conversation
IdRef - Reference to a ConversationId.
- Immutable
Conversation - An ImmutableConversation wraps a
MlsConversation. - MlsConversation
- This is a wrapper on top of the OpenMls’s MlsGroup, that provides Core Crypto specific functionality
Enums§
Traits§
- Conversation
- The
Conversationtrait provides a set of operations that can be done on an immutable conversation.