AutoRecacheReadKeyValueRepo

open class AutoRecacheReadKeyValueRepo<Id, RegisteredObject>(originalRepo: ReadKeyValueRepo<Id, RegisteredObject>, scope: CoroutineScope, kvCache: FullKVCache<Id, RegisteredObject> = FullKVCache(), recacheDelay: Long = 60.seconds.inWholeMilliseconds, actionWrapper: ActionWrapper = ActionWrapper.Direct, idGetter: (RegisteredObject) -> Id) : ReadKeyValueRepo<Id, RegisteredObject> , FallbackCacheRepo

Constructors

Link copied to clipboard
fun <Id, RegisteredObject> AutoRecacheReadKeyValueRepo(originalRepo: ReadKeyValueRepo<Id, RegisteredObject>, scope: CoroutineScope, originalCallTimeoutMillis: Long, kvCache: FullKVCache<Id, RegisteredObject> = FullKVCache(), recacheDelay: Long = 60.seconds.inWholeMilliseconds, idGetter: (RegisteredObject) -> Id)
Link copied to clipboard
fun <Id, RegisteredObject> AutoRecacheReadKeyValueRepo(originalRepo: ReadKeyValueRepo<Id, RegisteredObject>, scope: CoroutineScope, kvCache: FullKVCache<Id, RegisteredObject> = FullKVCache(), recacheDelay: Long = 60.seconds.inWholeMilliseconds, actionWrapper: ActionWrapper = ActionWrapper.Direct, idGetter: (RegisteredObject) -> Id)

Functions

Link copied to clipboard
open suspend override fun contains(key: Id): Boolean
Link copied to clipboard
open suspend override fun count(): Long
Link copied to clipboard
open suspend override fun get(k: Id): RegisteredObject?
Link copied to clipboard
open suspend override fun invalidate()
Link copied to clipboard
open suspend override fun keys(pagination: Pagination, reversed: Boolean): PaginationResult<Id>
open suspend override fun keys(v: RegisteredObject, pagination: Pagination, reversed: Boolean): PaginationResult<Id>

This method should use sorted by Keys search and take the PaginationResult. By default, it should use ascending sort for Keys

Link copied to clipboard
open suspend override fun values(pagination: Pagination, reversed: Boolean): PaginationResult<RegisteredObject>

This method should use sorted by Keys search and take the PaginationResult. By default, it should use ascending sort for Keys

Properties

Link copied to clipboard
val autoUpdateJob: Job

Inheritors

Link copied to clipboard

Extensions

Link copied to clipboard
inline fun <FromKey, FromValue, ToKey, ToValue> ReadKeyValueRepo<ToKey, ToValue>.withMapper(noinline keyFromToTo: suspend FromKey.() -> ToKey = { this as ToKey }, noinline valueFromToTo: suspend FromValue.() -> ToValue = { this as ToValue }, noinline keyToToFrom: suspend ToKey.() -> FromKey = { this as FromKey }, noinline valueToToFrom: suspend ToValue.() -> FromValue = { this as FromValue }): ReadKeyValueRepo<FromKey, FromValue>