diff options
Diffstat (limited to 'kotlinx-coroutines-core/js/src/EventLoop.kt')
-rw-r--r-- | kotlinx-coroutines-core/js/src/EventLoop.kt | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/kotlinx-coroutines-core/js/src/EventLoop.kt b/kotlinx-coroutines-core/js/src/EventLoop.kt new file mode 100644 index 00000000..19d75c09 --- /dev/null +++ b/kotlinx-coroutines-core/js/src/EventLoop.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package kotlinx.coroutines + +import kotlin.coroutines.* + +internal actual fun createEventLoop(): EventLoop = UnconfinedEventLoop() + +internal actual fun nanoTime(): Long = unsupported() + +internal class UnconfinedEventLoop : EventLoop() { + override fun dispatch(context: CoroutineContext, block: Runnable): Unit = unsupported() +} + +internal actual abstract class EventLoopImplPlatform : EventLoop() { + protected actual fun unpark(): Unit = unsupported() + protected actual fun reschedule(now: Long, delayedTask: EventLoopImplBase.DelayedTask): Unit = unsupported() +} + +internal actual object DefaultExecutor { + public actual fun enqueue(task: Runnable): Unit = unsupported() +} + +private fun unsupported(): Nothing = + throw UnsupportedOperationException("runBlocking event loop is not supported") |