BlockingContextualCache

A blocking cache wrapper, which offers different results depending on the context.

Unlike asynchronous caches, this implementation doesn't allow subscribing to a value to see it change over time.

To instantiate this class, see the blocking helper.

Parameters

Identifier

The identifier used to request from the cache

Context

The context which differentiates between cache results.

Failure

The possible failures when requesting from the cache.

Value

The possible successful values when requesting from the cache.

Functions

Link copied to clipboard

Tells the cache that the value it stores for id is out-of-date for all contexts, and should be queried again the next time it is requested.

Tells the cache that the value it stores for the given ids are out-of-date for all contexts, and should be queried again next time they are requested.

fun expire(id: Identifier, context: Context)

Tells the cache that the value it stores for id and context is out-of-date for all contexts, and should be queried again the next time it is requested.

Link copied to clipboard
fun expireAll()

Tells the cache that all values are out-of-date, and should be queried again the next time they are requested.

Link copied to clipboard

Tells the cache that the value it stores for the given ids and contexts are out-of-date, and should be queried again next time they are requested.

Link copied to clipboard
operator fun get(id: Identifier, context: Context): Outcome<Failure, Value>

Gets the value associated with id and context in the cache, at the current time.

Link copied to clipboard

Convenience function to access a value from InfallibleCache that are blocking.

Link copied to clipboard
operator fun set(id: Identifier, context: Context, value: Value)

Forces the cache to accept value as a more recent value for the given id and context than whatever it was previously storing.

Link copied to clipboard
fun update(vararg values: Triple<Identifier, Context, Value>): <Error class: unknown class>

Forces the cache to accept the given values as more recent than their associated identifier than whatever was previously stored.