Package-level declarations
Types
Link copied to clipboard
open class CoroutineCache<K, V, S : CoroutineCacheStore<K, V>>(name: String, store: S, cacheScope: CoroutineScope, expireDuration: Duration = 1.minutes)
Base class to create a coroutine and StateFlow based cache.
Link copied to clipboard
The actual source and sink of the data to be cached. This could be any database.
Link copied to clipboard
class FullRepositoryCoroutineCache<K, V>(repository: FullRepository<K, V>, tm: TransactionManager, cacheScope: CoroutineScope, expireDuration: Duration = 1.minutes, valueToKeyMapper: (V) -> K) : CoroutineCache<K, V, FullRepositoryCoroutineCacheStore<K, V>>
Link copied to clipboard
class FullRepositoryCoroutineCacheStore<K, V>(repository: FullRepository<K, V>, tm: TransactionManager) : MinimalRepositoryCoroutineCacheStore<K, V>
Link copied to clipboard
class MapDeleteByRoomIdRepositoryCoroutineCache<K1, K2, V>(repository: MapDeleteByRoomIdRepository<K1, K2, V>, tm: TransactionManager, cacheScope: CoroutineScope, expireDuration: Duration = 1.minutes, keyMapper: (MapRepositoryCoroutinesCacheKey<K1, K2>) -> RoomId) : MapRepositoryCoroutineCache<K1, K2, V>
Link copied to clipboard
open class MapRepositoryCoroutineCache<K1, K2, V>(repository: MapRepository<K1, K2, V>, tm: TransactionManager, cacheScope: CoroutineScope, expireDuration: Duration = 1.minutes) : CoroutineCache<MapRepositoryCoroutinesCacheKey<K1, K2>, V, MapRepositoryCoroutineCacheStore<K1, K2, V>>
Link copied to clipboard
class MapRepositoryCoroutineCacheStore<K1, K2, V>(repository: MapRepository<K1, K2, V>, tm: TransactionManager) : CoroutineCacheStore<MapRepositoryCoroutinesCacheKey<K1, K2>, V>
Link copied to clipboard
Link copied to clipboard
class MinimalDeleteByRoomIdRepositoryCoroutineCache<K, V>(repository: MinimalDeleteByRoomIdRepository<K, V>, tm: TransactionManager, cacheScope: CoroutineScope, expireDuration: Duration = 1.minutes, keyMapper: (K) -> RoomId) : MinimalRepositoryCoroutineCache<K, V>
Link copied to clipboard
open class MinimalRepositoryCoroutineCache<K, V>(repository: MinimalRepository<K, V>, tm: TransactionManager, cacheScope: CoroutineScope, expireDuration: Duration = 1.minutes) : CoroutineCache<K, V, CoroutineCacheStore<K, V>>
Link copied to clipboard
open class MinimalRepositoryCoroutineCacheStore<K, V>(repository: MinimalRepository<K, V>, tm: TransactionManager) : CoroutineCacheStore<K, V>
Link copied to clipboard
An index to track which entries have been added to or removed from the cache.