pub struct MlsGroupBuilder { /* private fields */ }
Expand description
Builder struct for an MlsGroup
.
Implementations§
Source§impl MlsGroupBuilder
impl MlsGroupBuilder
Sourcepub fn with_group_id(self, group_id: GroupId) -> Self
pub fn with_group_id(self, group_id: GroupId) -> Self
Sets the group ID of the MlsGroup
.
Sourcepub fn build<Provider: OpenMlsProvider>(
self,
provider: &Provider,
signer: &impl Signer,
credential_with_key: CredentialWithKey,
) -> Result<MlsGroup, NewGroupError<Provider::StorageError>>
pub fn build<Provider: OpenMlsProvider>( self, provider: &Provider, signer: &impl Signer, credential_with_key: CredentialWithKey, ) -> Result<MlsGroup, NewGroupError<Provider::StorageError>>
Build a new group as configured by this builder.
Sourcepub fn with_wire_format_policy(
self,
wire_format_policy: WireFormatPolicy,
) -> Self
pub fn with_wire_format_policy( self, wire_format_policy: WireFormatPolicy, ) -> Self
Sets the wire_format
property of the MlsGroup.
Sourcepub fn padding_size(self, padding_size: usize) -> Self
pub fn padding_size(self, padding_size: usize) -> Self
Sets the padding_size
property of the MlsGroup.
Sourcepub fn max_past_epochs(self, max_past_epochs: usize) -> Self
pub fn max_past_epochs(self, max_past_epochs: usize) -> Self
Sets the max_past_epochs
property of the MlsGroup.
This allows application messages from previous epochs to be decrypted.
WARNING
This feature enables the storage of message secrets from past epochs.
It is a trade-off between functionality and forward secrecy and should only be enabled
if the Delivery Service cannot guarantee that application messages will be sent in
the same epoch in which they were generated. The number for max_epochs
should be
as low as possible.
Sourcepub fn number_of_resumption_psks(self, number_of_resumption_psks: usize) -> Self
pub fn number_of_resumption_psks(self, number_of_resumption_psks: usize) -> Self
Sets the number_of_resumption_psks
property of the MlsGroup.
Sourcepub fn use_ratchet_tree_extension(
self,
use_ratchet_tree_extension: bool,
) -> Self
pub fn use_ratchet_tree_extension( self, use_ratchet_tree_extension: bool, ) -> Self
Sets the use_ratchet_tree_extension
property of the MlsGroup.
Sourcepub fn sender_ratchet_configuration(
self,
sender_ratchet_configuration: SenderRatchetConfiguration,
) -> Self
pub fn sender_ratchet_configuration( self, sender_ratchet_configuration: SenderRatchetConfiguration, ) -> Self
Sets the sender_ratchet_configuration
property of the MlsGroup.
See SenderRatchetConfiguration
for more information.
Sourcepub fn lifetime(self, lifetime: Lifetime) -> Self
pub fn lifetime(self, lifetime: Lifetime) -> Self
Sets the lifetime
of the group creator’s leaf.
Sourcepub fn ciphersuite(self, ciphersuite: Ciphersuite) -> Self
pub fn ciphersuite(self, ciphersuite: Ciphersuite) -> Self
Sets the ciphersuite
of the MlsGroup.
Sourcepub fn with_group_context_extensions(
self,
extensions: Extensions,
) -> Result<Self, InvalidExtensionError>
pub fn with_group_context_extensions( self, extensions: Extensions, ) -> Result<Self, InvalidExtensionError>
Sets the initial group context extensions
Sourcepub fn with_leaf_node_extensions(
self,
extensions: Extensions,
) -> Result<Self, LeafNodeValidationError>
pub fn with_leaf_node_extensions( self, extensions: Extensions, ) -> Result<Self, LeafNodeValidationError>
Sets the initial leaf node extensions
Sourcepub fn with_capabilities(self, capabilities: Capabilities) -> Self
pub fn with_capabilities(self, capabilities: Capabilities) -> Self
Sets the group creator’s Capabilities
Trait Implementations§
Source§impl Debug for MlsGroupBuilder
impl Debug for MlsGroupBuilder
Source§impl Default for MlsGroupBuilder
impl Default for MlsGroupBuilder
Source§fn default() -> MlsGroupBuilder
fn default() -> MlsGroupBuilder
Auto Trait Implementations§
impl Freeze for MlsGroupBuilder
impl RefUnwindSafe for MlsGroupBuilder
impl Send for MlsGroupBuilder
impl Sync for MlsGroupBuilder
impl Unpin for MlsGroupBuilder
impl UnwindSafe for MlsGroupBuilder
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
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