Struct matrix_sdk::SqliteCryptoStore
source · pub struct SqliteCryptoStore { /* private fields */ }
Available on crate features
e2e-encryption
and sqlite
only.Expand description
A sqlite based cryptostore.
Implementations§
source§impl SqliteCryptoStore
impl SqliteCryptoStore
sourcepub async fn open(
path: impl AsRef<Path>,
passphrase: Option<&str>
) -> Result<SqliteCryptoStore, OpenStoreError>
pub async fn open( path: impl AsRef<Path>, passphrase: Option<&str> ) -> Result<SqliteCryptoStore, OpenStoreError>
Open the sqlite-based crypto store at the given path using the given passphrase to encrypt private data.
sourcepub async fn open_with_pool(
pool: Pool<Manager>,
passphrase: Option<&str>
) -> Result<SqliteCryptoStore, OpenStoreError>
pub async fn open_with_pool( pool: Pool<Manager>, passphrase: Option<&str> ) -> Result<SqliteCryptoStore, OpenStoreError>
Create a sqlite-based crypto store using the given sqlite database pool. The given passphrase will be used to encrypt private data.
Trait Implementations§
source§impl Clone for SqliteCryptoStore
impl Clone for SqliteCryptoStore
source§fn clone(&self) -> SqliteCryptoStore
fn clone(&self) -> SqliteCryptoStore
Returns a copy 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 CryptoStore for SqliteCryptoStore
impl CryptoStore for SqliteCryptoStore
source§fn clear_caches<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn clear_caches<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Clear any in-memory caches because they may be out of sync with the
underlying data store. Read more
source§fn load_account<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<Account>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn load_account<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<Account>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Load an account that was previously stored.
source§fn load_identity<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<PrivateCrossSigningIdentity>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn load_identity<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<PrivateCrossSigningIdentity>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Try to load a private cross signing identity, if one is stored.
source§fn save_pending_changes<'life0, 'async_trait>(
&'life0 self,
changes: PendingChanges
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn save_pending_changes<'life0, 'async_trait>(
&'life0 self,
changes: PendingChanges
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Save the set of changes to the store. Read more
source§fn save_changes<'life0, 'async_trait>(
&'life0 self,
changes: Changes
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn save_changes<'life0, 'async_trait>(
&'life0 self,
changes: Changes
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Save the set of changes to the store. Read more
source§fn get_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
sender_key: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Option<Arc<Mutex<Vec<Session>>>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
sender_key: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Option<Arc<Mutex<Vec<Session>>>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get all the sessions that belong to the given sender key. Read more
source§fn get_inbound_group_session<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
session_id: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Option<InboundGroupSession>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_inbound_group_session<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
session_id: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Option<InboundGroupSession>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get the inbound group session from our store. Read more
source§fn get_inbound_group_sessions<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<InboundGroupSession>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_inbound_group_sessions<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<InboundGroupSession>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get all the inbound group sessions we have stored.
source§fn inbound_group_session_counts<'life0, 'life1, 'async_trait>(
&'life0 self,
backup_version: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<RoomKeyCounts, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn inbound_group_session_counts<'life0, 'life1, 'async_trait>(
&'life0 self,
backup_version: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<RoomKeyCounts, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get the number inbound group sessions we have and how many of them are
backed up.
source§fn inbound_group_sessions_for_backup<'life0, 'life1, 'async_trait>(
&'life0 self,
_backup_version: &'life1 str,
limit: usize
) -> Pin<Box<dyn Future<Output = Result<Vec<InboundGroupSession>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn inbound_group_sessions_for_backup<'life0, 'life1, 'async_trait>(
&'life0 self,
_backup_version: &'life1 str,
limit: usize
) -> Pin<Box<dyn Future<Output = Result<Vec<InboundGroupSession>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Return a batch of [‘InboundGroupSession’] (“room keys”) that have not
yet been backed up in the supplied backup version. Read more
source§fn mark_inbound_group_sessions_as_backed_up<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_backup_version: &'life1 str,
session_ids: &'life2 [(&'life3 RoomId, &'life4 str)]
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn mark_inbound_group_sessions_as_backed_up<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_backup_version: &'life1 str,
session_ids: &'life2 [(&'life3 RoomId, &'life4 str)]
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
SqliteCryptoStore: 'async_trait,
Store the fact that the supplied sessions were backed up into the backup
with version
backup_version
. Read moresource§fn reset_backup_state<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn reset_backup_state<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Reset the backup state of all the stored inbound group sessions. Read more
source§fn load_backup_keys<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<BackupKeys, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn load_backup_keys<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<BackupKeys, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get the backup keys we have stored.
source§fn get_outbound_group_session<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Option<OutboundGroupSession>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_outbound_group_session<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Option<OutboundGroupSession>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get the outbound group session we have stored that is used for the
given room.
source§fn load_tracked_users<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<TrackedUser>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn load_tracked_users<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<TrackedUser>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Provide the list of users whose devices we are keeping track of, and
whether they are considered dirty/outdated.
source§fn save_tracked_users<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tracked_users: &'life1 [(&'life2 UserId, bool)]
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn save_tracked_users<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tracked_users: &'life1 [(&'life2 UserId, bool)]
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteCryptoStore: 'async_trait,
Update the list of users whose devices we are keeping track of, and
whether they are considered dirty/outdated. Read more
source§fn get_device<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId,
device_id: &'life2 DeviceId
) -> Pin<Box<dyn Future<Output = Result<Option<ReadOnlyDevice>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_device<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId,
device_id: &'life2 DeviceId
) -> Pin<Box<dyn Future<Output = Result<Option<ReadOnlyDevice>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get the device for the given user with the given device ID. Read more
source§fn get_user_devices<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId
) -> Pin<Box<dyn Future<Output = Result<HashMap<OwnedDeviceId, ReadOnlyDevice>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_user_devices<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId
) -> Pin<Box<dyn Future<Output = Result<HashMap<OwnedDeviceId, ReadOnlyDevice>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get all the devices of the given user. Read more
source§fn get_user_identity<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId
) -> Pin<Box<dyn Future<Output = Result<Option<ReadOnlyUserIdentities>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_user_identity<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId
) -> Pin<Box<dyn Future<Output = Result<Option<ReadOnlyUserIdentities>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get the user identity that is attached to the given user id. Read more
source§fn is_message_known<'life0, 'life1, 'async_trait>(
&'life0 self,
message_hash: &'life1 OlmMessageHash
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn is_message_known<'life0, 'life1, 'async_trait>(
&'life0 self,
message_hash: &'life1 OlmMessageHash
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Check if a hash for an Olm message stored in the database.
source§fn get_outgoing_secret_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
request_id: &'life1 TransactionId
) -> Pin<Box<dyn Future<Output = Result<Option<GossipRequest>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_outgoing_secret_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
request_id: &'life1 TransactionId
) -> Pin<Box<dyn Future<Output = Result<Option<GossipRequest>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get an outgoing secret request that we created that matches the given
request id. Read more
source§fn get_secret_request_by_info<'life0, 'life1, 'async_trait>(
&'life0 self,
key_info: &'life1 SecretInfo
) -> Pin<Box<dyn Future<Output = Result<Option<GossipRequest>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_secret_request_by_info<'life0, 'life1, 'async_trait>(
&'life0 self,
key_info: &'life1 SecretInfo
) -> Pin<Box<dyn Future<Output = Result<Option<GossipRequest>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get an outgoing key request that we created that matches the given
requested key info. Read more
source§fn get_unsent_secret_requests<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<GossipRequest>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_unsent_secret_requests<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<GossipRequest>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get all outgoing secret requests that we have in the store.
source§fn delete_outgoing_secret_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
request_id: &'life1 TransactionId
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn delete_outgoing_secret_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
request_id: &'life1 TransactionId
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Delete an outgoing key request that we created that matches the given
request id. Read more
source§fn get_secrets_from_inbox<'life0, 'life1, 'async_trait>(
&'life0 self,
secret_name: &'life1 SecretName
) -> Pin<Box<dyn Future<Output = Result<Vec<GossippedSecret>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_secrets_from_inbox<'life0, 'life1, 'async_trait>(
&'life0 self,
secret_name: &'life1 SecretName
) -> Pin<Box<dyn Future<Output = Result<Vec<GossippedSecret>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get all the secrets with the given
SecretName
we have currently
stored.source§fn delete_secrets_from_inbox<'life0, 'life1, 'async_trait>(
&'life0 self,
secret_name: &'life1 SecretName
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn delete_secrets_from_inbox<'life0, 'life1, 'async_trait>(
&'life0 self,
secret_name: &'life1 SecretName
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Delete all the secrets with the given
SecretName
we have currently
stored.source§fn get_withheld_info<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
session_id: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Option<ToDeviceEvent<RoomKeyWithheldContent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_withheld_info<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
session_id: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Option<ToDeviceEvent<RoomKeyWithheldContent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get withheld info for this key.
Allows to know if the session was not sent on purpose.
This only returns withheld info sent by the owner of the group session,
not the one you can get from a response to a key request from
another of your device.
source§fn get_room_settings<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Option<RoomSettings>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_room_settings<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Option<RoomSettings>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get the room settings, such as the encryption algorithm or whether to
encrypt only for trusted devices. Read more
source§fn get_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn get_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Get arbitrary data from the store Read more
source§fn set_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
value: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn set_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
value: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Put arbitrary data into the store Read more
source§fn remove_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn remove_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteCryptoStore: 'async_trait,
Remove arbitrary data into the store Read more
source§fn try_take_leased_lock<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
lease_duration_ms: u32,
key: &'life1 str,
holder: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn try_take_leased_lock<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
lease_duration_ms: u32,
key: &'life1 str,
holder: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteCryptoStore: 'async_trait,
Try to take a leased lock. Read more
source§fn next_batch_token<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<String>, <SqliteCryptoStore as CryptoStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
fn next_batch_token<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<String>, <SqliteCryptoStore as CryptoStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteCryptoStore: 'async_trait,
Load the next-batch token for a to-device query, if any.
Auto Trait Implementations§
impl !RefUnwindSafe for SqliteCryptoStore
impl Send for SqliteCryptoStore
impl Sync for SqliteCryptoStore
impl Unpin for SqliteCryptoStore
impl !UnwindSafe for SqliteCryptoStore
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> CompatExt for T
impl<T> CompatExt for T
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§fn clone_handle(handle: Handle) -> Handle
fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<>