CoroutineContext

Common
JVM
JS
Native
1.3
interface CoroutineContext
(source)

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.

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.

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.

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.

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