pub struct GroupState<ID, OP, PKI, DGM, KMG, ORD>where
ID: IdentityHandle,
OP: OperationId,
PKI: IdentityRegistry<ID, PKI::State> + PreKeyRegistry<ID, OneTimeKeyBundle>,
PKI::State: Clone,
DGM: AckedGroupMembership<ID, OP>,
KMG: IdentityManager<KMG::State> + PreKeyManager,
KMG::State: Clone,
ORD: ForwardSecureOrdering<ID, OP, DGM>,{ /* private fields */ }
Expand description
Group state for “Message Encryption” scheme. Serializable for persistence.
Trait Implementations§
Source§impl<ID, OP, PKI, DGM, KMG, ORD> Clone for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
ID: IdentityHandle + Clone,
OP: OperationId + Clone,
PKI: IdentityRegistry<ID, PKI::State> + PreKeyRegistry<ID, OneTimeKeyBundle> + Clone,
PKI::State: Clone,
DGM: AckedGroupMembership<ID, OP> + Clone,
KMG: IdentityManager<KMG::State> + PreKeyManager + Clone,
KMG::State: Clone,
ORD: ForwardSecureOrdering<ID, OP, DGM> + Clone,
ORD::State: Clone,
ORD::Message: Clone,
impl<ID, OP, PKI, DGM, KMG, ORD> Clone for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
ID: IdentityHandle + Clone,
OP: OperationId + Clone,
PKI: IdentityRegistry<ID, PKI::State> + PreKeyRegistry<ID, OneTimeKeyBundle> + Clone,
PKI::State: Clone,
DGM: AckedGroupMembership<ID, OP> + Clone,
KMG: IdentityManager<KMG::State> + PreKeyManager + Clone,
KMG::State: Clone,
ORD: ForwardSecureOrdering<ID, OP, DGM> + Clone,
ORD::State: Clone,
ORD::Message: Clone,
Source§fn clone(&self) -> GroupState<ID, OP, PKI, DGM, KMG, ORD>
fn clone(&self) -> GroupState<ID, OP, PKI, DGM, KMG, ORD>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<ID, OP, PKI, DGM, KMG, ORD> Debug for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
ID: IdentityHandle + Debug,
OP: OperationId + Debug,
PKI: IdentityRegistry<ID, PKI::State> + PreKeyRegistry<ID, OneTimeKeyBundle> + Debug,
PKI::State: Clone,
DGM: AckedGroupMembership<ID, OP> + Debug,
KMG: IdentityManager<KMG::State> + PreKeyManager + Debug,
KMG::State: Clone,
ORD: ForwardSecureOrdering<ID, OP, DGM> + Debug,
ORD::State: Debug,
ORD::Message: Debug,
impl<ID, OP, PKI, DGM, KMG, ORD> Debug for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
ID: IdentityHandle + Debug,
OP: OperationId + Debug,
PKI: IdentityRegistry<ID, PKI::State> + PreKeyRegistry<ID, OneTimeKeyBundle> + Debug,
PKI::State: Clone,
DGM: AckedGroupMembership<ID, OP> + Debug,
KMG: IdentityManager<KMG::State> + PreKeyManager + Debug,
KMG::State: Clone,
ORD: ForwardSecureOrdering<ID, OP, DGM> + Debug,
ORD::State: Debug,
ORD::Message: Debug,
Source§impl<'de, ID, OP, PKI, DGM, KMG, ORD> Deserialize<'de> for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
ID: IdentityHandle + Deserialize<'de>,
OP: OperationId + Deserialize<'de>,
PKI: IdentityRegistry<ID, PKI::State> + PreKeyRegistry<ID, OneTimeKeyBundle> + Deserialize<'de>,
PKI::State: Clone,
DGM: AckedGroupMembership<ID, OP> + Deserialize<'de>,
KMG: IdentityManager<KMG::State> + PreKeyManager + Deserialize<'de>,
KMG::State: Clone,
ORD: ForwardSecureOrdering<ID, OP, DGM>,
ORD::State: Deserialize<'de>,
impl<'de, ID, OP, PKI, DGM, KMG, ORD> Deserialize<'de> for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
ID: IdentityHandle + Deserialize<'de>,
OP: OperationId + Deserialize<'de>,
PKI: IdentityRegistry<ID, PKI::State> + PreKeyRegistry<ID, OneTimeKeyBundle> + Deserialize<'de>,
PKI::State: Clone,
DGM: AckedGroupMembership<ID, OP> + Deserialize<'de>,
KMG: IdentityManager<KMG::State> + PreKeyManager + Deserialize<'de>,
KMG::State: Clone,
ORD: ForwardSecureOrdering<ID, OP, DGM>,
ORD::State: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<ID, OP, PKI, DGM, KMG, ORD> Serialize for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
ID: IdentityHandle + Serialize,
OP: OperationId + Serialize,
PKI: IdentityRegistry<ID, PKI::State> + PreKeyRegistry<ID, OneTimeKeyBundle> + Serialize,
PKI::State: Clone,
DGM: AckedGroupMembership<ID, OP> + Serialize,
KMG: IdentityManager<KMG::State> + PreKeyManager + Serialize,
KMG::State: Clone,
ORD: ForwardSecureOrdering<ID, OP, DGM>,
ORD::State: Serialize,
impl<ID, OP, PKI, DGM, KMG, ORD> Serialize for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
ID: IdentityHandle + Serialize,
OP: OperationId + Serialize,
PKI: IdentityRegistry<ID, PKI::State> + PreKeyRegistry<ID, OneTimeKeyBundle> + Serialize,
PKI::State: Clone,
DGM: AckedGroupMembership<ID, OP> + Serialize,
KMG: IdentityManager<KMG::State> + PreKeyManager + Serialize,
KMG::State: Clone,
ORD: ForwardSecureOrdering<ID, OP, DGM>,
ORD::State: Serialize,
Auto Trait Implementations§
impl<ID, OP, PKI, DGM, KMG, ORD> Freeze for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
<KMG as PreKeyManager>::State: Sized + Freeze,
<PKI as PreKeyRegistry<ID, OneTimeKeyBundle>>::State: Sized + Freeze,
ID: Freeze,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::State: Freeze,
<DGM as AckedGroupMembership<ID, OP>>::State: Freeze,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::Message: Freeze,
impl<ID, OP, PKI, DGM, KMG, ORD> RefUnwindSafe for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
<KMG as PreKeyManager>::State: Sized + RefUnwindSafe,
<PKI as PreKeyRegistry<ID, OneTimeKeyBundle>>::State: Sized + RefUnwindSafe,
ID: RefUnwindSafe,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::State: RefUnwindSafe,
<DGM as AckedGroupMembership<ID, OP>>::State: RefUnwindSafe,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::Message: RefUnwindSafe,
OP: RefUnwindSafe,
impl<ID, OP, PKI, DGM, KMG, ORD> Send for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
<KMG as PreKeyManager>::State: Sized + Send,
<PKI as PreKeyRegistry<ID, OneTimeKeyBundle>>::State: Sized + Send,
ID: Send,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::State: Send,
<DGM as AckedGroupMembership<ID, OP>>::State: Send,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::Message: Send,
OP: Send,
impl<ID, OP, PKI, DGM, KMG, ORD> Sync for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
<KMG as PreKeyManager>::State: Sized + Sync,
<PKI as PreKeyRegistry<ID, OneTimeKeyBundle>>::State: Sized + Sync,
ID: Sync,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::State: Sync,
<DGM as AckedGroupMembership<ID, OP>>::State: Sync,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::Message: Sync,
OP: Sync,
impl<ID, OP, PKI, DGM, KMG, ORD> Unpin for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
<KMG as PreKeyManager>::State: Sized + Unpin,
<PKI as PreKeyRegistry<ID, OneTimeKeyBundle>>::State: Sized + Unpin,
ID: Unpin,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::State: Unpin,
<DGM as AckedGroupMembership<ID, OP>>::State: Unpin,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::Message: Unpin,
OP: Unpin,
impl<ID, OP, PKI, DGM, KMG, ORD> UnwindSafe for GroupState<ID, OP, PKI, DGM, KMG, ORD>where
<KMG as PreKeyManager>::State: Sized + UnwindSafe,
<PKI as PreKeyRegistry<ID, OneTimeKeyBundle>>::State: Sized + UnwindSafe,
ID: UnwindSafe,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::State: UnwindSafe,
<DGM as AckedGroupMembership<ID, OP>>::State: UnwindSafe,
<ORD as ForwardSecureOrdering<ID, OP, DGM>>::Message: UnwindSafe,
OP: UnwindSafe,
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