| /* |
| * Copyright 2016-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. |
| */ |
| |
| package kotlinx.coroutines |
| |
| import kotlin.coroutines.* |
| import kotlin.system.* |
| |
| internal actual abstract class EventLoopImplPlatform: EventLoop() { |
| protected actual fun unpark() { /* does nothing */ } |
| protected actual fun reschedule(now: Long, delayedTask: EventLoopImplBase.DelayedTask): Unit = |
| loopWasShutDown() |
| } |
| |
| internal class EventLoopImpl: EventLoopImplBase() { |
| override fun invokeOnTimeout(timeMillis: Long, block: Runnable, context: CoroutineContext): DisposableHandle = |
| scheduleInvokeOnTimeout(timeMillis, block) |
| } |
| |
| internal actual fun createEventLoop(): EventLoop = EventLoopImpl() |
| |
| internal actual fun nanoTime(): Long = getTimeNanos() |