ContinuationInterceptor

interface ContinuationInterceptor : Element (source)

Platform and version requirements: Kotlin 1.1

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

Key

companion object Key : Key<ContinuationInterceptor>

The key that defines the context interceptor.

Inherited Properties

key

abstract val key: Key<*>

A key of this coroutine context element.

Functions

interceptContinuation

abstract fun <T> interceptContinuation(
    continuation: Continuation<T>
): Continuation<T>

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.

Inherited Functions

fold

open fun <R> fold(
    initial: R,
    operation: (R, Element) -> R
): R

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.

get

open operator fun <E : Element> get(key: Key<E>): E?

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.

minusKey

open fun minusKey(key: Key<*>): CoroutineContext

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.