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 an 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);
Re-exports§
pub use crate::dehydrated_devices::DehydrationError;
Modules§
- caches
- Collection of small in-memory stores that can be used to cache Olm objects.
- integration_
tests testing
- types
- Data types for persistent storage.
Structs§
- Gossip
Request - A struct describing an outgoing key request.
- Lockable
Crypto Store - A crypto store that implements primitives for cross-process locking.
- Memory
Store - An in-memory only store that will forget all the E2EE key once it’s dropped.
- Store
- A wrapper for our CryptoStore trait object.
- Store
Transaction - A temporary transaction (that implies a write) to the underlying store.
Enums§
- Crypto
Store Error - The crypto store’s error type.
- Secret
Import Error - Error describing what went wrong when importing private cross signing keys or the key backup key.
- Secret
Info - An enum over the various secret request types we can have.
- Secrets
Bundle Export Error - Error describing what went wrong when exporting a
SecretsBundle
.
Traits§
- Crypto
Store - Represents a store that the
OlmMachine
uses to store E2EE data (such as cryptographic keys). - Into
Crypto Store - A type that can be type-erased into
Arc<DynCryptoStore>
.
Type Aliases§
- DynCrypto
Store - A type-erased
CryptoStore
. - Result
- A
CryptoStore
specific result type.