kgraphql / com.apurebase.kgraphql.test / Cache

Cache

interface Cache<K, V>

A "Threadsafe" Cache (Coroutine-Save)

Functions

clear

abstract suspend fun clear(key: K): CompletableDeferred<V>?
abstract suspend fun clear(): Unit

get

abstract suspend fun get(key: K): CompletableDeferred<V>?

getOrCreate

abstract suspend fun getOrCreate(key: K, generator: suspend (key: K) -> CompletableDeferred<V>, callOnCacheHit: suspend () -> Unit): CompletableDeferred<V>

store

abstract suspend fun store(key: K, value: CompletableDeferred<V>): CompletableDeferred<V>

Extension Functions

getOrCreate

suspend fun <K, V> Cache<K, V>.getOrCreate(key: K, generator: suspend (key: K) -> CompletableDeferred<V>): CompletableDeferred<V>

Inheritors

CoroutineMapCache

class CoroutineMapCache<K, V> : Cache<K, V>