pub struct IndexeddbCryptoStore { /* private fields */ }
Expand description
An implementation of CryptoStore that uses IndexedDB for persistent storage.
Implementations§
Source§impl IndexeddbCryptoStore
impl IndexeddbCryptoStore
Sourcepub async fn open() -> Result<Self, IndexeddbCryptoStoreError>
pub async fn open() -> Result<Self, IndexeddbCryptoStoreError>
Open a new IndexeddbCryptoStore
with default name and no passphrase
Sourcepub async fn open_with_passphrase(
prefix: &str,
passphrase: &str,
) -> Result<Self, IndexeddbCryptoStoreError>
pub async fn open_with_passphrase( prefix: &str, passphrase: &str, ) -> Result<Self, IndexeddbCryptoStoreError>
Open an IndexeddbCryptoStore
with given name and passphrase.
If the store previously existed, the encryption cipher is initialised using the given passphrase and the details from the meta store. If the store did not previously exist, a new encryption cipher is derived from the passphrase, and the details are stored to the metastore.
The store is then opened, or a new one created, using the encryption cipher.
§Arguments
prefix
- Common prefix for the names of the two IndexedDB stores.passphrase
- Passphrase which is used to derive a key to encrypt the key which is used to encrypt the store. Must be the same each time the store is opened.
Sourcepub async fn open_with_key(
prefix: &str,
key: &[u8; 32],
) -> Result<Self, IndexeddbCryptoStoreError>
pub async fn open_with_key( prefix: &str, key: &[u8; 32], ) -> Result<Self, IndexeddbCryptoStoreError>
Open an IndexeddbCryptoStore
with given name and key.
If the store previously existed, the encryption cipher is initialised using the given key and the details from the meta store. If the store did not previously exist, a new encryption cipher is derived from the passphrase, and the details are stored to the metastore.
The store is then opened, or a new one created, using the encryption cipher.
§Arguments
prefix
- Common prefix for the names of the two IndexedDB stores.key
- Key with which to encrypt the key which is used to encrypt the store. Must be the same each time the store is opened.
Sourcepub async fn open_with_name(
name: &str,
) -> Result<Self, IndexeddbCryptoStoreError>
pub async fn open_with_name( name: &str, ) -> Result<Self, IndexeddbCryptoStoreError>
Open a new IndexeddbCryptoStore
with given name and no passphrase
Trait Implementations§
Source§impl CryptoStore for IndexeddbCryptoStore
impl CryptoStore for IndexeddbCryptoStore
Source§type Error = IndexeddbCryptoStoreError
type Error = IndexeddbCryptoStoreError
Source§fn save_pending_changes<'life0, 'async_trait>(
&'life0 self,
changes: PendingChanges,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn save_pending_changes<'life0, 'async_trait>(
&'life0 self,
changes: PendingChanges,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn save_changes<'life0, 'async_trait>(
&'life0 self,
changes: Changes,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn save_changes<'life0, 'async_trait>(
&'life0 self,
changes: Changes,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn save_inbound_group_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
sessions: Vec<InboundGroupSession>,
backed_up_to_version: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn save_inbound_group_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
sessions: Vec<InboundGroupSession>,
backed_up_to_version: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn load_tracked_users<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<TrackedUser>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_tracked_users<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<TrackedUser>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_outbound_group_session<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Option<OutboundGroupSession>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_outgoing_secret_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
request_id: &'life1 TransactionId,
) -> Pin<Box<dyn Future<Output = Result<Option<GossipRequest>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn load_account<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<Account>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_account<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<Account>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn next_batch_token<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn next_batch_token<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn load_identity<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<PrivateCrossSigningIdentity>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_identity<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<PrivateCrossSigningIdentity>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
sender_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<Session>>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
sender_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<Session>>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
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>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn get_inbound_group_sessions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<InboundGroupSession>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_inbound_group_sessions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<InboundGroupSession>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_inbound_group_sessions_for_device_batch<'life0, 'async_trait>(
&'life0 self,
sender_key: Curve25519PublicKey,
sender_data_type: SenderDataType,
after_session_id: Option<String>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<InboundGroupSession>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_inbound_group_sessions_for_device_batch<'life0, 'async_trait>(
&'life0 self,
sender_key: Curve25519PublicKey,
sender_data_type: SenderDataType,
after_session_id: Option<String>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<InboundGroupSession>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn inbound_group_session_counts<'life0, 'life1, 'async_trait>(
&'life0 self,
_backup_version: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<RoomKeyCounts, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
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>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn mark_inbound_group_sessions_as_backed_up<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_backup_version: &'life1 str,
room_and_session_ids: &'life2 [(&'life3 RoomId, &'life4 str)],
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn mark_inbound_group_sessions_as_backed_up<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_backup_version: &'life1 str,
room_and_session_ids: &'life2 [(&'life3 RoomId, &'life4 str)],
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
backup_version
. Read moreSource§fn reset_backup_state<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reset_backup_state<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn save_tracked_users<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
users: &'life1 [(&'life2 UserId, bool)],
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn save_tracked_users<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
users: &'life1 [(&'life2 UserId, bool)],
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
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<DeviceData>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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<DeviceData>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn get_user_devices<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId,
) -> Pin<Box<dyn Future<Output = Result<HashMap<OwnedDeviceId, DeviceData>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_devices<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId,
) -> Pin<Box<dyn Future<Output = Result<HashMap<OwnedDeviceId, DeviceData>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_own_device<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DeviceData, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_own_device<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DeviceData, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_user_identity<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId,
) -> Pin<Box<dyn Future<Output = Result<Option<UserIdentityData>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_identity<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId,
) -> Pin<Box<dyn Future<Output = Result<Option<UserIdentityData>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn is_message_known<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 OlmMessageHash,
) -> Pin<Box<dyn Future<Output = Result<bool, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn is_message_known<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 OlmMessageHash,
) -> Pin<Box<dyn Future<Output = Result<bool, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_secrets_from_inbox<'life0, 'life1, 'async_trait>(
&'life0 self,
secret_name: &'life1 SecretName,
) -> Pin<Box<dyn Future<Output = Result<Vec<GossippedSecret>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
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<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_secrets_from_inbox<'life0, 'life1, 'async_trait>(
&'life0 self,
secret_name: &'life1 SecretName,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
SecretName
we have currently
stored.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>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_unsent_secret_requests<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<GossipRequest>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_unsent_secret_requests<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<GossipRequest>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn delete_outgoing_secret_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
request_id: &'life1 TransactionId,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_outgoing_secret_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
request_id: &'life1 TransactionId,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn load_backup_keys<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BackupKeys, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_backup_keys<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BackupKeys, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn load_dehydrated_device_pickle_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<DehydratedDeviceKey>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_dehydrated_device_pickle_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<DehydratedDeviceKey>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn delete_dehydrated_device_pickle_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_dehydrated_device_pickle_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
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<RoomKeyWithheldEvent>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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<RoomKeyWithheldEvent>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn get_room_settings<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Option<RoomSettings>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_room_settings<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Option<RoomSettings>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn set_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn set_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn remove_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
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, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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, IndexeddbCryptoStoreError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§impl Debug for IndexeddbCryptoStore
impl Debug for IndexeddbCryptoStore
Auto Trait Implementations§
impl !Freeze for IndexeddbCryptoStore
impl !RefUnwindSafe for IndexeddbCryptoStore
impl !Send for IndexeddbCryptoStore
impl !Sync for IndexeddbCryptoStore
impl Unpin for IndexeddbCryptoStore
impl !UnwindSafe for IndexeddbCryptoStore
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
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoCryptoStore for Twhere
T: CryptoStore + 'static,
impl<T> IntoCryptoStore for Twhere
T: CryptoStore + 'static,
fn into_crypto_store(self) -> Arc<dyn CryptoStore<Error = CryptoStoreError>>
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>
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>
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