All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.io.ktor.util.pipeline.StackWalkingFailedFrame.kt Maven / Gradle / Ivy

There is a newer version: 4.0.0
Show newest version
/*
* Copyright 2014-2021 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license.
*/

package io.ktor.util.pipeline

import io.ktor.util.*
import kotlin.coroutines.*

/**
 * This is a fake coroutine stack frame. It is reported by [SuspendFunctionGun] when the debug agent
 * is trying to probe jobs state by peeking frames when the coroutine is running at the same time
 * and the frames sequence is concurrently changed.
 */
internal object StackWalkingFailedFrame : CoroutineStackFrame, Continuation {
    override val callerFrame: CoroutineStackFrame? get() = null

    override fun getStackTraceElement(): StackTraceElement? {
        return createStackTraceElement(
            StackWalkingFailed::class,
            StackWalkingFailed::failedToCaptureStackFrame.name,
            "StackWalkingFailed.kt",
            8
        )
    }

    override val context: CoroutineContext
        get() = EmptyCoroutineContext

    override fun resumeWith(result: Result) {
        StackWalkingFailed.failedToCaptureStackFrame()
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy