ContinuationInterceptor

Common
JVM
JS
Native
1.3
interface ContinuationInterceptor : Element

Marks coroutine context element that intercepts coroutine continuations. The coroutines framework uses ContinuationInterceptor.Key to retrieve the interceptor and intercepts all coroutine continuations with interceptContinuation invocations.

Types

Common
JVM
JS
Native
1.0

Key

The key that defines the context interceptor.

companion object Key : Key<ContinuationInterceptor>

Functions

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.

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

interceptContinuation

Returns continuation that wraps the original continuation, thus intercepting all resumptions. This function is invoked by coroutines framework when needed and the resulting continuations are cached internally per each instance of the original continuation.

abstract fun <T> interceptContinuation(
    continuation: Continuation<T>
): Continuation<T>
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.

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

releaseInterceptedContinuation

Invoked for the continuation instance returned by interceptContinuation when the original continuation completes and will not be used anymore. This function is invoked only if interceptContinuation had returned a different continuation instance from the one it was invoked with.

open fun releaseInterceptedContinuation(
    continuation: Continuation<*>)