InMemoryClientStorage

Non-persistent ClientStorage for tests and examples.

Transactions are atomic: a transaction works on a copy of the committed state and replaces it only when the block returns normally. A Mutex serializes transactions. Byte arrays are copied on the way in and out, so callers cannot change stored keys or sessions through an alias. It never holds pre-milestone-12 state, so DeviceAuthenticationKeyStore.awaitsUpgradeKey is always false, and every processed entry has a digest and a commit time.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
Link copied to clipboard
open override val identity: IdentityStore
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val preKeys: PreKeyStore
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val sessions: SessionStore

Functions

Link copied to clipboard
open suspend override fun <T> transaction(block: suspend ClientStorage.() -> T): T