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
§impl<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> 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