pub trait SignalStorageContainer {
type SessionStore: SessionStore + ExtendedSessionStore;
type IdentityStore: IdentityKeyStore + ExtendedIdentityStore;
type PreKeyStore: PreKeyStore + ExtendedPreKeyStore;
type SignedPreKeyStore: SignedPreKeyStore + ExtendedSignedPreKeyStore;
type KyberPreKeyStore: KyberPreKeyStore + ExtendedKyberPreKeyStore;
// Required methods
fn session_store(&mut self) -> &mut Self::SessionStore;
fn identity_store(&mut self) -> &mut Self::IdentityStore;
fn pre_key_store(&mut self) -> &mut Self::PreKeyStore;
fn signed_pre_key_store(&mut self) -> &mut Self::SignedPreKeyStore;
fn kyber_pre_key_store(&mut self) -> &mut Self::KyberPreKeyStore;
fn initialize(&mut self) -> Result<(), Box<dyn Error>>;
fn close(&mut self) -> Result<(), Box<dyn Error>>;
fn storage_type(&self) -> &'static str;
}Expand description
Container trait for all Signal Protocol storage backends