CoroutineContext

Common
JVM
JS
Native
1.3
interface CoroutineContext

Persistent context for the coroutine. It is an indexed set of Element instances. An indexed set is a mix between a set and a map. Every element in this set has a unique Key. Keys are compared by reference.

Types

Common
JVM
JS
Native
1.0

Element

An element of the CoroutineContext. An element of the coroutine context is a singleton context by itself.

interface Element : CoroutineContext
Common
JVM
JS
Native
1.0

Key

Key for the elements of CoroutineContext. E is a type of element with this key. Keys in the context are compared by reference.

interface Key<E : Element>

Functions

Common
JVM
JS
Native
1.0

fold

Accumulates entries of this context starting with initial value and applying operation from left to right to current accumulator value and each element of this context.

abstract fun <R> fold(
    initial: R,
    operation: (R, Element) -> R
): R
Common
JVM
JS
Native
1.0

get

Returns the element with the given key from this context or null. Keys are compared by reference, that is to get an element from the context the reference to its actual key object must be presented to this function.

abstract operator fun <E : Element> get(key: Key<E>): E?
Common
JVM
JS
Native
1.0

minusKey

Returns a context containing elements from this context, but without an element with the specified key. Keys are compared by reference, that is to remove an element from the context the reference to its actual key object must be presented to this function.

abstract fun minusKey(key: Key<*>): CoroutineContext
Common
JVM
JS
Native
1.0

plus

Returns a context containing elements from this context and elements from other context. The elements from this context with the same key as in the other one are dropped.

open operator fun plus(
    context: CoroutineContext
): CoroutineContext

Inheritors

Common
JVM
JS
Native
1.3

EmptyCoroutineContext

An empty coroutine context.

object EmptyCoroutineContext : CoroutineContext, Serializable