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