Trait libsignal_service::pre_keys::PreKeysStore

source ·
pub trait PreKeysStore: PreKeyStore + IdentityKeyStore + SignedPreKeyStore + KyberPreKeyStore + KyberPreKeyStoreExt {
    // Required methods
    fn next_pre_key_id<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<u32, SignalProtocolError>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn next_signed_pre_key_id<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<u32, SignalProtocolError>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn next_pq_pre_key_id<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<u32, SignalProtocolError>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn signed_pre_keys_count<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<usize, SignalProtocolError>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn kyber_pre_keys_count<'life0, 'async_trait>(
        &'life0 self,
        last_resort: bool,
    ) -> Pin<Box<dyn Future<Output = Result<usize, SignalProtocolError>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Stores the ID of keys published ahead of time

https://signal.org/docs/specifications/x3dh/

Required Methods§

source

fn next_pre_key_id<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<u32, SignalProtocolError>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

ID of the next pre key

source

fn next_signed_pre_key_id<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<u32, SignalProtocolError>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

ID of the next signed pre key

source

fn next_pq_pre_key_id<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<u32, SignalProtocolError>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

ID of the next PQ pre key

source

fn signed_pre_keys_count<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<usize, SignalProtocolError>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

number of signed pre-keys we currently have in store

source

fn kyber_pre_keys_count<'life0, 'async_trait>( &'life0 self, last_resort: bool, ) -> Pin<Box<dyn Future<Output = Result<usize, SignalProtocolError>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

number of kyber pre-keys we currently have in store

Implementors§