CoroutineContext

Platform and version requirements: JVM (1.3), JS (1.3), 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.

Types

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

Element

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

interface Element : CoroutineContext
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

Key

Key for the elements of CoroutineContext. E is a type of element with this key.

interface Key<E : Element>

Functions

Platform and version requirements: JVM (1.0), JS (1.0), 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
Platform and version requirements: JVM (1.0), JS (1.0), 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?
Platform and version requirements: JVM (1.0), JS (1.0), 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
Platform and version requirements: JVM (1.0), JS (1.0), 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

Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

EmptyCoroutineContext

An empty coroutine context.

object EmptyCoroutineContext : CoroutineContext, Serializable

© 2010–2021 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/