Package-level declarations

Types

Link copied to clipboard
@API(status = API.Status.EXPERIMENTAL, since = "5.0.0")
fun interface ExpirationCallback<E>

A wrapper around a function that might be called when an expire-able element expires.

Link copied to clipboard
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
interface ExpirationCollection<E> : Collection<E>

The basic interface for implementing a collection of expiring elements.

Link copied to clipboard
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
class ExpirationListImpl<E> : ExpirationCollection<E>

The implementation of a list as an ExpirationCollection.

Link copied to clipboard
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
interface ExpirationMap<K, V> : MutableMap<K, V>

The basic implementation of an expiring map.

Link copied to clipboard
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
fun interface ExpirationMapCallback<K, V>

A wrapper around a function, which might be called when an element of an ExpirationMap expires.

Link copied to clipboard
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
class ExpirationMapImpl<K, V> : ExpirationMap<K, V> , MutableMap<K, V>

The implementation as a map as an ExpirationMap.

Link copied to clipboard
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
data class ExpirationMapValue<K, V> : Expireable<V>

A representation of a value in an ExpirationMap. This element holds the value itself, the startTime, the expireIn time from the startTime, and its onExpire callback.

Link copied to clipboard
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
data class ExpirationNode<E> : Expireable<E>

A representation of an element in an ExpirationCollection. This element holds the element itself, the time it was added, and the time it will expire, and its callback. This also acts as a node in a linked list.

Link copied to clipboard
@ApiStatus.Internal
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
interface Expireable<V> : Delayed

Functions

Link copied to clipboard
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
fun <E> expirationListOf(backgroundContext: CoroutineContext = Dispatchers.Default): ExpirationCollection<E>
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
fun <E> expirationListOf(expireIn: Duration = Duration.INFINITE, vararg elements: E): ExpirationCollection<E>
Link copied to clipboard
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
@JvmName(name = "expirationMapOfPairCallback")
fun <K, V> expirationMapOf(defaultDuration: Duration = Duration.INFINITE, backgroundContext: CoroutineContext = Dispatchers.Default, vararg entries: Pair<K, Pair<V, ExpirationMapCallback<K, V>?>>): ExpirationMap<K, V>
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
@JvmName(name = "expirationMapOfPairDuration")
fun <K, V> expirationMapOf(defaultDuration: Duration = Duration.INFINITE, backgroundContext: CoroutineContext = Dispatchers.Default, vararg entries: Pair<K, Pair<V, Duration>>): ExpirationMap<K, V>
@ApiStatus.Experimental
@ApiStatus.AvailableSince(value = "5.0.0")
fun <K, V> expirationMapOf(defaultDuration: Duration = Duration.INFINITE, backgroundContext: CoroutineContext = Dispatchers.Default, vararg entries: Pair<K, Triple<V, Duration, ExpirationMapCallback<K, V>?>>): ExpirationMap<K, V>