Expand description
Types and traits to implement the storage layer for the OlmMachine
The storage layer for the OlmMachine
can be customized using a trait.
Implementing your own CryptoStore
An in-memory only store is provided as well as a SQLite-based one, depending
on your needs and targets a custom store may be implemented, e.g. for
wasm-unknown-unknown
an indexeddb store would be needed
let store = Arc::new(MemoryStore::new());
let machine = OlmMachine::with_store(user_id, device_id, store, None);
Modules§
- Collection of small in-memory stores that can be used to cache Olm objects.
Structs§
- The private part of a backup key.
- Stored versions of the backup keys.
- Aggregated changes to be saved in the database.
- A struct containing private cross signing keys that can be backed up or uploaded to the secret store.
- Updates about
Device
s which got received over the/keys/query
endpoint. - A struct describing an outgoing key request.
- This struct is used to remember whether an identity has undergone a change or remains the same as the one we already know about.
- Updates about
UserIdentity
s which got received over the/keys/query
endpoint. - A crypto store that implements primitives for cross-process locking.
- An in-memory only store that will forget all the E2EE key once it’s dropped.
- Aggregated changes to be saved in the database.
- Struct holding info about how many room keys the store has.
- Information on a room key that has been received or imported.
- Information on a room key that has been withheld
- Room encryption settings which are modified by state events or user options
- A wrapper for our CryptoStore trait object.
- A temporary transaction (that implies a write) to the underlying store.
- A user for which we are tracking the list of devices.
Enums§
- The crypto store’s error type.
- Error describing what went wrong when importing private cross signing keys or the key backup key.
- An enum over the various secret request types we can have.
- Error describing what went wrong when exporting a
SecretsBundle
.
Traits§
- Represents a store that the
OlmMachine
uses to store E2EE data (such as cryptographic keys). - A type that can be type-erased into
Arc<DynCryptoStore>
.
Type Aliases§
- A type-erased
CryptoStore
. - A
CryptoStore
specific result type.