Olm Crypto Store
class OlmCryptoStore(olmAccountRepository: OlmAccountRepository, olmSessionRepository: OlmSessionRepository, inboundMegolmSessionRepository: InboundMegolmSessionRepository, inboundMegolmMessageIndexRepository: InboundMegolmMessageIndexRepository, outboundMegolmSessionRepository: OutboundMegolmSessionRepository, rtm: RepositoryTransactionManager, storeScope: CoroutineScope) : Store
Constructors
Link copied to clipboard
fun OlmCryptoStore(olmAccountRepository: OlmAccountRepository, olmSessionRepository: OlmSessionRepository, inboundMegolmSessionRepository: InboundMegolmSessionRepository, inboundMegolmMessageIndexRepository: InboundMegolmMessageIndexRepository, outboundMegolmSessionRepository: OutboundMegolmSessionRepository, rtm: RepositoryTransactionManager, storeScope: CoroutineScope)
Functions
Link copied to clipboard
Only deletes everything, that can be fetched from server.
Link copied to clipboard
Link copied to clipboard
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?)
Properties
Link copied to clipboard
val notBackedUpInboundMegolmSessions: StateFlow<Map<InboundMegolmSessionRepositoryKey, StoredInboundMegolmSession>>
Extensions
Link copied to clipboard
inline suspend fun OlmCryptoStore.waitForInboundMegolmSession(roomId: RoomId, sessionId: String, firstKnownIndexLessThen: Long? = null)