Olm Crypto Store
class OlmCryptoStore(olmAccountRepository: OlmAccountRepository, olmForgetFallbackKeyAfterRepository: OlmForgetFallbackKeyAfterRepository, olmSessionRepository: OlmSessionRepository, inboundMegolmSessionRepository: InboundMegolmSessionRepository, inboundMegolmMessageIndexRepository: InboundMegolmMessageIndexRepository, outboundMegolmSessionRepository: OutboundMegolmSessionRepository, tm: TransactionManager, config: MatrixClientConfiguration, storeScope: CoroutineScope) : Store
Constructors
Link copied to clipboard
constructor(olmAccountRepository: OlmAccountRepository, olmForgetFallbackKeyAfterRepository: OlmForgetFallbackKeyAfterRepository, olmSessionRepository: OlmSessionRepository, inboundMegolmSessionRepository: InboundMegolmSessionRepository, inboundMegolmMessageIndexRepository: InboundMegolmMessageIndexRepository, outboundMegolmSessionRepository: OutboundMegolmSessionRepository, tm: TransactionManager, config: MatrixClientConfiguration, storeScope: CoroutineScope)
Properties
Link copied to clipboard
Link copied to clipboard
val notBackedUpInboundMegolmSessions: StateFlow<Map<InboundMegolmSessionRepositoryKey, StoredInboundMegolmSession>>
Functions
Link copied to clipboard
Only deletes everything, that can be fetched from server.
Link copied to clipboard
Link copied to clipboard
suspend fun updateInboundMegolmMessageIndex(sessionId: String, roomId: RoomId, messageIndex: Long, updater: suspend (oldMegolmSessionIndex: StoredInboundMegolmMessageIndex?) -> StoredInboundMegolmMessageIndex?)
Link copied to clipboard
suspend fun updateInboundMegolmSession(sessionId: String, roomId: RoomId, updater: suspend (oldInboundMegolmSession: StoredInboundMegolmSession?) -> StoredInboundMegolmSession?)
Link copied to clipboard
suspend fun updateOlmSessions(senderKey: Key.Curve25519Key, updater: suspend (oldSessions: Set<StoredOlmSession>?) -> Set<StoredOlmSession>?)
Link copied to clipboard
suspend fun updateOutboundMegolmSession(roomId: RoomId, updater: suspend (oldOutboundMegolmSession: StoredOutboundMegolmSession?) -> StoredOutboundMegolmSession?)
Link copied to clipboard
suspend fun OlmCryptoStore.waitForInboundMegolmSession(roomId: RoomId, sessionId: String, firstKnownIndexLessThen: Long? = null, onNotExisting: suspend CoroutineScope.() -> Unit? = null)