Package-level declarations

Types

Link copied to clipboard
private typealias Core<E> = LockFreeTaskQueueCore<E>
Link copied to clipboard
@Module
object CoroutineScopeModule
Link copied to clipboard
Link copied to clipboard
class LimitedDispatcherImpl(val dispatcher: CoroutineDispatcher, val parallelism: Int) : LimitedDispatcher, Runnable

Forked from kotlinx.coroutines

Link copied to clipboard
internal open class LockFreeTaskQueue<E : Any>(singleConsumer: Boolean)

Lock-free Multiply-Producer xxx-Consumer Queue for task scheduling purposes.

Link copied to clipboard
internal class LockFreeTaskQueueCore<E : Any>(val capacity: Int, val singleConsumer: Boolean)

Lock-free Multiply-Producer xxx-Consumer Queue core.

Link copied to clipboard
class ModuleCheckDispatcherProvider @Inject constructor(limitedDispatcher: LimitedDispatcher) : DispatcherProvider

Uses a LimitedDispatcher as the default in order to keep things "fair" and limit heap size.

Functions

Link copied to clipboard
internal fun Int.checkParallelism()
Link copied to clipboard
internal inline fun <T> AtomicReference<T>.loop(action: (T) -> Unit): Nothing
Link copied to clipboard
internal inline fun <T> AtomicReference<T>.update(function: (T) -> T)