Struct MlsGroupBuilder
pub struct MlsGroupBuilder { /* private fields */ }Expand description
Builder struct for an MlsGroup.
Implementations§
§impl MlsGroupBuilder
impl MlsGroupBuilder
pub fn with_group_id(self, group_id: GroupId) -> MlsGroupBuilder
pub fn with_group_id(self, group_id: GroupId) -> MlsGroupBuilder
Sets the group ID of the MlsGroup.
pub fn build<Provider>(
self,
provider: &Provider,
signer: &impl Signer,
credential_with_key: CredentialWithKey,
) -> Result<MlsGroup, NewGroupError<<Provider as OpenMlsProvider>::StorageError>>where
Provider: OpenMlsProvider,
pub fn build<Provider>(
self,
provider: &Provider,
signer: &impl Signer,
credential_with_key: CredentialWithKey,
) -> Result<MlsGroup, NewGroupError<<Provider as OpenMlsProvider>::StorageError>>where
Provider: OpenMlsProvider,
Build a new group as configured by this builder.
pub fn with_wire_format_policy(
self,
wire_format_policy: WireFormatPolicy,
) -> MlsGroupBuilder
pub fn with_wire_format_policy( self, wire_format_policy: WireFormatPolicy, ) -> MlsGroupBuilder
Sets the wire_format property of the MlsGroup.
pub fn padding_size(self, padding_size: usize) -> MlsGroupBuilder
pub fn padding_size(self, padding_size: usize) -> MlsGroupBuilder
Sets the padding_size property of the MlsGroup.
pub fn max_past_epochs(self, max_past_epochs: usize) -> MlsGroupBuilder
pub fn max_past_epochs(self, max_past_epochs: usize) -> MlsGroupBuilder
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.
pub fn number_of_resumption_psks(
self,
number_of_resumption_psks: usize,
) -> MlsGroupBuilder
pub fn number_of_resumption_psks( self, number_of_resumption_psks: usize, ) -> MlsGroupBuilder
Sets the number_of_resumption_psks property of the MlsGroup.
pub fn use_ratchet_tree_extension(
self,
use_ratchet_tree_extension: bool,
) -> MlsGroupBuilder
pub fn use_ratchet_tree_extension( self, use_ratchet_tree_extension: bool, ) -> MlsGroupBuilder
Sets the use_ratchet_tree_extension property of the MlsGroup.
pub fn sender_ratchet_configuration(
self,
sender_ratchet_configuration: SenderRatchetConfiguration,
) -> MlsGroupBuilder
pub fn sender_ratchet_configuration( self, sender_ratchet_configuration: SenderRatchetConfiguration, ) -> MlsGroupBuilder
Sets the sender_ratchet_configuration property of the MlsGroup.
See SenderRatchetConfiguration for more information.
pub fn lifetime(self, lifetime: Lifetime) -> MlsGroupBuilder
pub fn lifetime(self, lifetime: Lifetime) -> MlsGroupBuilder
Sets the lifetime of the group creator’s leaf.
pub fn ciphersuite(self, ciphersuite: Ciphersuite) -> MlsGroupBuilder
pub fn ciphersuite(self, ciphersuite: Ciphersuite) -> MlsGroupBuilder
Sets the ciphersuite of the MlsGroup.
pub fn with_group_context_extensions(
self,
extensions: Extensions,
) -> Result<MlsGroupBuilder, InvalidExtensionError>
pub fn with_group_context_extensions( self, extensions: Extensions, ) -> Result<MlsGroupBuilder, InvalidExtensionError>
Sets the initial group context extensions
pub fn with_leaf_node_extensions(
self,
extensions: Extensions,
) -> Result<MlsGroupBuilder, LeafNodeValidationError>
pub fn with_leaf_node_extensions( self, extensions: Extensions, ) -> Result<MlsGroupBuilder, LeafNodeValidationError>
Sets the initial leaf node extensions
pub fn with_capabilities(self, capabilities: Capabilities) -> MlsGroupBuilder
pub fn with_capabilities(self, capabilities: Capabilities) -> MlsGroupBuilder
Sets the group creator’s Capabilities
Trait Implementations§
§impl Debug for MlsGroupBuilder
impl Debug for MlsGroupBuilder
§impl Default for MlsGroupBuilder
impl Default for MlsGroupBuilder
§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> Conv for T
impl<T> Conv for T
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.