pub struct MemberState<'a, Provider> {
pub party: PreGroupPartyState<'a, Provider>,
pub group: MlsGroup,
}Available on (32-bit or 64-bit) and (crate features
test-utils) only.Expand description
Represents a group member’s MlsGroup instance and pre-group state
Fields§
§party: PreGroupPartyState<'a, Provider>§group: MlsGroupImplementations§
Source§impl<Provider: OpenMlsProvider> MemberState<'_, Provider>
impl<Provider: OpenMlsProvider> MemberState<'_, Provider>
pub fn assert_group_storage_state_matches(&self, to_compare: GroupStorageState)
pub fn assert_non_proposal_group_storage_state_matches( &self, to_compare: GroupStorageState, )
Source§impl<Provider: OpenMlsProvider> MemberState<'_, Provider>
impl<Provider: OpenMlsProvider> MemberState<'_, Provider>
Sourcepub fn get_storage_signature_key_pair(&self) -> Option<SignatureKeyPair>
pub fn get_storage_signature_key_pair(&self) -> Option<SignatureKeyPair>
Get member’s SignatureKeyPair if available
Sourcepub fn group_storage_state(&self) -> GroupStorageState
pub fn group_storage_state(&self) -> GroupStorageState
Get the GroupStorageState for this group
Sourcepub fn deliver_and_apply(
&mut self,
message: MlsMessageIn,
) -> Result<(), GroupError<Provider>>
pub fn deliver_and_apply( &mut self, message: MlsMessageIn, ) -> Result<(), GroupError<Provider>>
Deliver_and_apply a message to this member’s MlsGroup
Source§impl<'commit_builder, 'b: 'commit_builder, 'a: 'b, Provider> MemberState<'a, Provider>where
Provider: OpenMlsProvider,
impl<'commit_builder, 'b: 'commit_builder, 'a: 'b, Provider> MemberState<'a, Provider>where
Provider: OpenMlsProvider,
Sourcepub fn build_commit_and_stage(
&'b mut self,
f: impl FnOnce(CommitBuilder<'commit_builder, Initial>) -> CommitBuilder<'commit_builder, Initial>,
) -> Result<CommitMessageBundle, GroupError<Provider>>
pub fn build_commit_and_stage( &'b mut self, f: impl FnOnce(CommitBuilder<'commit_builder, Initial>) -> CommitBuilder<'commit_builder, Initial>, ) -> Result<CommitMessageBundle, GroupError<Provider>>
Build and stage a commit, using the provided closure to add proposals
Source§impl<'a, Provider: OpenMlsProvider> MemberState<'a, Provider>
impl<'a, Provider: OpenMlsProvider> MemberState<'a, Provider>
Sourcepub fn create_from_pre_group(
party: PreGroupPartyState<'a, Provider>,
mls_group_create_config: MlsGroupCreateConfig,
group_id: GroupId,
) -> Result<Self, GroupError<Provider>>
pub fn create_from_pre_group( party: PreGroupPartyState<'a, Provider>, mls_group_create_config: MlsGroupCreateConfig, group_id: GroupId, ) -> Result<Self, GroupError<Provider>>
Create a MemberState from a PreGroupPartyState. This creates a new MlsGroup with one
member
Sourcepub fn join_from_pre_group(
party: PreGroupPartyState<'a, Provider>,
mls_group_join_config: MlsGroupJoinConfig,
welcome: Welcome,
tree: Option<RatchetTreeIn>,
) -> Result<Self, GroupError<Provider>>
pub fn join_from_pre_group( party: PreGroupPartyState<'a, Provider>, mls_group_join_config: MlsGroupJoinConfig, welcome: Welcome, tree: Option<RatchetTreeIn>, ) -> Result<Self, GroupError<Provider>>
Create a MemberState from a Welcome, which creates a new MlsGroup using a Welcome
invitation from an existing group
Auto Trait Implementations§
impl<'a, Provider> Freeze for MemberState<'a, Provider>
impl<'a, Provider> RefUnwindSafe for MemberState<'a, Provider>where
Provider: RefUnwindSafe,
impl<'a, Provider> Send for MemberState<'a, Provider>where
Provider: Sync,
impl<'a, Provider> Sync for MemberState<'a, Provider>where
Provider: Sync,
impl<'a, Provider> Unpin for MemberState<'a, Provider>
impl<'a, Provider> UnwindSafe for MemberState<'a, Provider>where
Provider: RefUnwindSafe,
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
Mutably borrows from an owned value. Read more
§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>
Converts
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>
Converts
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