1*7a7160feSAndroid Build Coastguard Worker# kotlinx.coroutines 2*7a7160feSAndroid Build Coastguard Worker 3*7a7160feSAndroid Build Coastguard Worker[](https://kotlinlang.org/docs/components-stability.html) 4*7a7160feSAndroid Build Coastguard Worker[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) 5*7a7160feSAndroid Build Coastguard Worker[](https://www.apache.org/licenses/LICENSE-2.0) 6*7a7160feSAndroid Build Coastguard Worker[](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.8.1) 7*7a7160feSAndroid Build Coastguard Worker[](http://kotlinlang.org) 8*7a7160feSAndroid Build Coastguard Worker[](https://kotlinlang.slack.com/messages/coroutines/) 9*7a7160feSAndroid Build Coastguard Worker 10*7a7160feSAndroid Build Coastguard WorkerLibrary support for Kotlin coroutines with [multiplatform](#multiplatform) support. 11*7a7160feSAndroid Build Coastguard WorkerThis is a companion version for the Kotlin `1.9.21` release. 12*7a7160feSAndroid Build Coastguard Worker 13*7a7160feSAndroid Build Coastguard Worker```kotlin 14*7a7160feSAndroid Build Coastguard Workersuspend fun main() = coroutineScope { 15*7a7160feSAndroid Build Coastguard Worker launch { 16*7a7160feSAndroid Build Coastguard Worker delay(1000) 17*7a7160feSAndroid Build Coastguard Worker println("Kotlin Coroutines World!") 18*7a7160feSAndroid Build Coastguard Worker } 19*7a7160feSAndroid Build Coastguard Worker println("Hello") 20*7a7160feSAndroid Build Coastguard Worker} 21*7a7160feSAndroid Build Coastguard Worker``` 22*7a7160feSAndroid Build Coastguard Worker 23*7a7160feSAndroid Build Coastguard Worker> Play with coroutines online [here](https://pl.kotl.in/9zva88r7S) 24*7a7160feSAndroid Build Coastguard Worker 25*7a7160feSAndroid Build Coastguard Worker## Modules 26*7a7160feSAndroid Build Coastguard Worker 27*7a7160feSAndroid Build Coastguard Worker* [core](kotlinx-coroutines-core/README.md) — common coroutines across all platforms: 28*7a7160feSAndroid Build Coastguard Worker * [launch] and [async] coroutine builders returning [Job] and [Deferred] light-weight futures with cancellation support; 29*7a7160feSAndroid Build Coastguard Worker * [Dispatchers] object with [Main][Dispatchers.Main] dispatcher for Android/Swing/JavaFx (which require the corresponding artifacts in runtime) and Darwin (included out of the box), and [Default][Dispatchers.Default] dispatcher for background coroutines; 30*7a7160feSAndroid Build Coastguard Worker * [delay] and [yield] top-level suspending functions; 31*7a7160feSAndroid Build Coastguard Worker * [Flow] — cold asynchronous stream with [flow][_flow] builder and comprehensive operator set ([filter], [map], etc); 32*7a7160feSAndroid Build Coastguard Worker * [Channel], [Mutex], and [Semaphore] communication and synchronization primitives; 33*7a7160feSAndroid Build Coastguard Worker * [coroutineScope][_coroutineScope], [supervisorScope][_supervisorScope], [withContext], and [withTimeout] scope builders; 34*7a7160feSAndroid Build Coastguard Worker * [MainScope()] for Android and UI applications; 35*7a7160feSAndroid Build Coastguard Worker * [SupervisorJob()] and [CoroutineExceptionHandler] for supervision of coroutines hierarchies; 36*7a7160feSAndroid Build Coastguard Worker * [select] expression support and more. 37*7a7160feSAndroid Build Coastguard Worker* [core/jvm](kotlinx-coroutines-core/jvm/) — additional core features available on Kotlin/JVM: 38*7a7160feSAndroid Build Coastguard Worker * [Dispatchers.IO] dispatcher for blocking coroutines; 39*7a7160feSAndroid Build Coastguard Worker * [Executor.asCoroutineDispatcher][asCoroutineDispatcher] extension, custom thread pools, and more; 40*7a7160feSAndroid Build Coastguard Worker * Integrations with `CompletableFuture` and JVM-specific extensions. 41*7a7160feSAndroid Build Coastguard Worker* [core/js](kotlinx-coroutines-core/js/) — additional core features available on Kotlin/JS: 42*7a7160feSAndroid Build Coastguard Worker * Integration with `Promise` via [Promise.await] and [promise] builder; 43*7a7160feSAndroid Build Coastguard Worker * Integration with `Window` via [Window.asCoroutineDispatcher], etc. 44*7a7160feSAndroid Build Coastguard Worker* [test](kotlinx-coroutines-test/README.md) — test utilities for coroutines: 45*7a7160feSAndroid Build Coastguard Worker * [Dispatchers.setMain] to override [Dispatchers.Main] in tests; 46*7a7160feSAndroid Build Coastguard Worker * [TestCoroutineScope] to test suspending functions and coroutines. 47*7a7160feSAndroid Build Coastguard Worker* [debug](kotlinx-coroutines-debug/README.md) — debug utilities for coroutines: 48*7a7160feSAndroid Build Coastguard Worker * [DebugProbes] API to probe, keep track of, print and dump active coroutines; 49*7a7160feSAndroid Build Coastguard Worker * [CoroutinesTimeout] test rule to automatically dump coroutines on test timeout. 50*7a7160feSAndroid Build Coastguard Worker * Automatic integration with [BlockHound](https://github.com/reactor/BlockHound). 51*7a7160feSAndroid Build Coastguard Worker* [reactive](reactive/README.md) — modules that provide builders and iteration support for various reactive streams libraries: 52*7a7160feSAndroid Build Coastguard Worker * Reactive Streams ([Publisher.collect], [Publisher.awaitSingle], [kotlinx.coroutines.reactive.publish], etc), 53*7a7160feSAndroid Build Coastguard Worker * Flow (JDK 9) (the same interface as for Reactive Streams), 54*7a7160feSAndroid Build Coastguard Worker * RxJava 2.x ([rxFlowable], [rxSingle], etc), and 55*7a7160feSAndroid Build Coastguard Worker * RxJava 3.x ([rxFlowable], [rxSingle], etc), and 56*7a7160feSAndroid Build Coastguard Worker * Project Reactor ([flux], [mono], etc). 57*7a7160feSAndroid Build Coastguard Worker* [ui](ui/README.md) — modules that provide the [Main][Dispatchers.Main] dispatcher for various single-threaded UI libraries: 58*7a7160feSAndroid Build Coastguard Worker * Android, JavaFX, and Swing. 59*7a7160feSAndroid Build Coastguard Worker* [integration](integration/README.md) — modules that provide integration with various asynchronous callback- and future-based libraries: 60*7a7160feSAndroid Build Coastguard Worker * Guava [ListenableFuture.await], and Google Play Services [Task.await]; 61*7a7160feSAndroid Build Coastguard Worker * SLF4J MDC integration via [MDCContext]. 62*7a7160feSAndroid Build Coastguard Worker 63*7a7160feSAndroid Build Coastguard Worker## Documentation 64*7a7160feSAndroid Build Coastguard Worker 65*7a7160feSAndroid Build Coastguard Worker* Presentations and videos: 66*7a7160feSAndroid Build Coastguard Worker * [Kotlin Coroutines in Practice](https://www.youtube.com/watch?v=a3agLJQ6vt8) (Roman Elizarov at KotlinConf 2018, [slides](https://www.slideshare.net/elizarov/kotlin-coroutines-in-practice-kotlinconf-2018)) 67*7a7160feSAndroid Build Coastguard Worker * [Deep Dive into Coroutines](https://www.youtube.com/watch?v=YrrUCSi72E8) (Roman Elizarov at KotlinConf 2017, [slides](https://www.slideshare.net/elizarov/deep-dive-into-coroutines-on-jvm-kotlinconf-2017)) 68*7a7160feSAndroid Build Coastguard Worker * [History of Structured Concurrency in Coroutines](https://www.youtube.com/watch?v=Mj5P47F6nJg) (Roman Elizarov at Hydra 2019, [slides](https://speakerdeck.com/elizarov/structured-concurrency)) 69*7a7160feSAndroid Build Coastguard Worker* Guides and manuals: 70*7a7160feSAndroid Build Coastguard Worker * [Guide to kotlinx.coroutines by example](https://kotlinlang.org/docs/coroutines-guide.html) (**read it first**) 71*7a7160feSAndroid Build Coastguard Worker * [Guide to UI programming with coroutines](ui/coroutines-guide-ui.md) 72*7a7160feSAndroid Build Coastguard Worker * [Debugging capabilities in kotlinx.coroutines](docs/topics/debugging.md) 73*7a7160feSAndroid Build Coastguard Worker* [Compatibility policy and experimental annotations](docs/topics/compatibility.md) 74*7a7160feSAndroid Build Coastguard Worker* [Change log for kotlinx.coroutines](CHANGES.md) 75*7a7160feSAndroid Build Coastguard Worker* [Coroutines design document (KEEP)](https://github.com/Kotlin/KEEP/blob/master/proposals/coroutines.md) 76*7a7160feSAndroid Build Coastguard Worker* [Full kotlinx.coroutines API reference](https://kotlinlang.org/api/kotlinx.coroutines/) 77*7a7160feSAndroid Build Coastguard Worker 78*7a7160feSAndroid Build Coastguard Worker## Using in your projects 79*7a7160feSAndroid Build Coastguard Worker 80*7a7160feSAndroid Build Coastguard Worker### Maven 81*7a7160feSAndroid Build Coastguard Worker 82*7a7160feSAndroid Build Coastguard WorkerAdd dependencies (you can also add other modules that you need): 83*7a7160feSAndroid Build Coastguard Worker 84*7a7160feSAndroid Build Coastguard Worker```xml 85*7a7160feSAndroid Build Coastguard Worker<dependency> 86*7a7160feSAndroid Build Coastguard Worker <groupId>org.jetbrains.kotlinx</groupId> 87*7a7160feSAndroid Build Coastguard Worker <artifactId>kotlinx-coroutines-core</artifactId> 88*7a7160feSAndroid Build Coastguard Worker <version>1.8.1</version> 89*7a7160feSAndroid Build Coastguard Worker</dependency> 90*7a7160feSAndroid Build Coastguard Worker``` 91*7a7160feSAndroid Build Coastguard Worker 92*7a7160feSAndroid Build Coastguard WorkerAnd make sure that you use the latest Kotlin version: 93*7a7160feSAndroid Build Coastguard Worker 94*7a7160feSAndroid Build Coastguard Worker```xml 95*7a7160feSAndroid Build Coastguard Worker<properties> 96*7a7160feSAndroid Build Coastguard Worker <kotlin.version>1.9.21</kotlin.version> 97*7a7160feSAndroid Build Coastguard Worker</properties> 98*7a7160feSAndroid Build Coastguard Worker``` 99*7a7160feSAndroid Build Coastguard Worker 100*7a7160feSAndroid Build Coastguard Worker### Gradle 101*7a7160feSAndroid Build Coastguard Worker 102*7a7160feSAndroid Build Coastguard WorkerAdd dependencies (you can also add other modules that you need): 103*7a7160feSAndroid Build Coastguard Worker 104*7a7160feSAndroid Build Coastguard Worker```kotlin 105*7a7160feSAndroid Build Coastguard Workerdependencies { 106*7a7160feSAndroid Build Coastguard Worker implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1") 107*7a7160feSAndroid Build Coastguard Worker} 108*7a7160feSAndroid Build Coastguard Worker``` 109*7a7160feSAndroid Build Coastguard Worker 110*7a7160feSAndroid Build Coastguard WorkerAnd make sure that you use the latest Kotlin version: 111*7a7160feSAndroid Build Coastguard Worker 112*7a7160feSAndroid Build Coastguard Worker```kotlin 113*7a7160feSAndroid Build Coastguard Workerplugins { 114*7a7160feSAndroid Build Coastguard Worker // For build.gradle.kts (Kotlin DSL) 115*7a7160feSAndroid Build Coastguard Worker kotlin("jvm") version "1.9.21" 116*7a7160feSAndroid Build Coastguard Worker 117*7a7160feSAndroid Build Coastguard Worker // For build.gradle (Groovy DSL) 118*7a7160feSAndroid Build Coastguard Worker id "org.jetbrains.kotlin.jvm" version "1.9.21" 119*7a7160feSAndroid Build Coastguard Worker} 120*7a7160feSAndroid Build Coastguard Worker``` 121*7a7160feSAndroid Build Coastguard Worker 122*7a7160feSAndroid Build Coastguard WorkerMake sure that you have `mavenCentral()` in the list of repositories: 123*7a7160feSAndroid Build Coastguard Worker 124*7a7160feSAndroid Build Coastguard Worker```kotlin 125*7a7160feSAndroid Build Coastguard Workerrepositories { 126*7a7160feSAndroid Build Coastguard Worker mavenCentral() 127*7a7160feSAndroid Build Coastguard Worker} 128*7a7160feSAndroid Build Coastguard Worker``` 129*7a7160feSAndroid Build Coastguard Worker 130*7a7160feSAndroid Build Coastguard Worker### Android 131*7a7160feSAndroid Build Coastguard Worker 132*7a7160feSAndroid Build Coastguard WorkerAdd [`kotlinx-coroutines-android`](ui/kotlinx-coroutines-android) 133*7a7160feSAndroid Build Coastguard Workermodule as a dependency when using `kotlinx.coroutines` on Android: 134*7a7160feSAndroid Build Coastguard Worker 135*7a7160feSAndroid Build Coastguard Worker```kotlin 136*7a7160feSAndroid Build Coastguard Workerimplementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1") 137*7a7160feSAndroid Build Coastguard Worker``` 138*7a7160feSAndroid Build Coastguard Worker 139*7a7160feSAndroid Build Coastguard WorkerThis gives you access to the Android [Dispatchers.Main] 140*7a7160feSAndroid Build Coastguard Workercoroutine dispatcher and also makes sure that in case of a crashed coroutine with an unhandled exception that 141*7a7160feSAndroid Build Coastguard Workerthis exception is logged before crashing the Android application, similarly to the way uncaught exceptions in 142*7a7160feSAndroid Build Coastguard Workerthreads are handled by the Android runtime. 143*7a7160feSAndroid Build Coastguard Worker 144*7a7160feSAndroid Build Coastguard Worker#### R8 and ProGuard 145*7a7160feSAndroid Build Coastguard Worker 146*7a7160feSAndroid Build Coastguard WorkerR8 and ProGuard rules are bundled into the [`kotlinx-coroutines-android`](ui/kotlinx-coroutines-android) module. 147*7a7160feSAndroid Build Coastguard WorkerFor more details see ["Optimization" section for Android](ui/kotlinx-coroutines-android/README.md#optimization). 148*7a7160feSAndroid Build Coastguard Worker 149*7a7160feSAndroid Build Coastguard Worker#### Avoiding including the debug infrastructure in the resulting APK 150*7a7160feSAndroid Build Coastguard Worker 151*7a7160feSAndroid Build Coastguard WorkerThe `kotlinx-coroutines-core` artifact contains a resource file that is not required for the coroutines to operate 152*7a7160feSAndroid Build Coastguard Workernormally and is only used by the debugger. To exclude it at no loss of functionality, add the following snippet to the 153*7a7160feSAndroid Build Coastguard Worker`android` block in your Gradle file for the application subproject: 154*7a7160feSAndroid Build Coastguard Worker 155*7a7160feSAndroid Build Coastguard Worker```kotlin 156*7a7160feSAndroid Build Coastguard WorkerpackagingOptions { 157*7a7160feSAndroid Build Coastguard Worker resources.excludes += "DebugProbesKt.bin" 158*7a7160feSAndroid Build Coastguard Worker} 159*7a7160feSAndroid Build Coastguard Worker``` 160*7a7160feSAndroid Build Coastguard Worker 161*7a7160feSAndroid Build Coastguard Worker### Multiplatform 162*7a7160feSAndroid Build Coastguard Worker 163*7a7160feSAndroid Build Coastguard WorkerCore modules of `kotlinx.coroutines` are also available for 164*7a7160feSAndroid Build Coastguard Worker[Kotlin/JS](https://kotlinlang.org/docs/reference/js-overview.html) and [Kotlin/Native](https://kotlinlang.org/docs/reference/native-overview.html). 165*7a7160feSAndroid Build Coastguard Worker 166*7a7160feSAndroid Build Coastguard WorkerIn common code that should get compiled for different platforms, you can add a dependency to `kotlinx-coroutines-core` right to the `commonMain` source set: 167*7a7160feSAndroid Build Coastguard Worker 168*7a7160feSAndroid Build Coastguard Worker```kotlin 169*7a7160feSAndroid Build Coastguard WorkercommonMain { 170*7a7160feSAndroid Build Coastguard Worker dependencies { 171*7a7160feSAndroid Build Coastguard Worker implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1") 172*7a7160feSAndroid Build Coastguard Worker } 173*7a7160feSAndroid Build Coastguard Worker} 174*7a7160feSAndroid Build Coastguard Worker``` 175*7a7160feSAndroid Build Coastguard Worker 176*7a7160feSAndroid Build Coastguard WorkerPlatform-specific dependencies are recommended to be used only for non-multiplatform projects that are compiled only for target platform. 177*7a7160feSAndroid Build Coastguard Worker 178*7a7160feSAndroid Build Coastguard Worker#### JS 179*7a7160feSAndroid Build Coastguard Worker 180*7a7160feSAndroid Build Coastguard WorkerKotlin/JS version of `kotlinx.coroutines` is published as 181*7a7160feSAndroid Build Coastguard Worker[`kotlinx-coroutines-core-js`](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.8.1) 182*7a7160feSAndroid Build Coastguard Worker(follow the link to get the dependency declaration snippet). 183*7a7160feSAndroid Build Coastguard Worker 184*7a7160feSAndroid Build Coastguard Worker#### Native 185*7a7160feSAndroid Build Coastguard Worker 186*7a7160feSAndroid Build Coastguard WorkerKotlin/Native version of `kotlinx.coroutines` is published as 187*7a7160feSAndroid Build Coastguard Worker[`kotlinx-coroutines-core-$platform`](https://central.sonatype.com/search?q=kotlinx-coroutines-core&namespace=org.jetbrains.kotlinx) where `$platform` is 188*7a7160feSAndroid Build Coastguard Workerthe target Kotlin/Native platform. 189*7a7160feSAndroid Build Coastguard WorkerTargets are provided in accordance with [official K/N target support](https://kotlinlang.org/docs/native-target-support.html). 190*7a7160feSAndroid Build Coastguard Worker## Building and Contributing 191*7a7160feSAndroid Build Coastguard Worker 192*7a7160feSAndroid Build Coastguard WorkerSee [Contributing Guidelines](CONTRIBUTING.md). 193*7a7160feSAndroid Build Coastguard Worker 194*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-core --> 195*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines --> 196*7a7160feSAndroid Build Coastguard Worker 197*7a7160feSAndroid Build Coastguard Worker[launch]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/launch.html 198*7a7160feSAndroid Build Coastguard Worker[async]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/async.html 199*7a7160feSAndroid Build Coastguard Worker[Job]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-job/index.html 200*7a7160feSAndroid Build Coastguard Worker[Deferred]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-deferred/index.html 201*7a7160feSAndroid Build Coastguard Worker[Dispatchers]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-dispatchers/index.html 202*7a7160feSAndroid Build Coastguard Worker[Dispatchers.Main]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-dispatchers/-main.html 203*7a7160feSAndroid Build Coastguard Worker[Dispatchers.Default]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-dispatchers/-default.html 204*7a7160feSAndroid Build Coastguard Worker[delay]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/delay.html 205*7a7160feSAndroid Build Coastguard Worker[yield]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/yield.html 206*7a7160feSAndroid Build Coastguard Worker[_coroutineScope]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/coroutine-scope.html 207*7a7160feSAndroid Build Coastguard Worker[_supervisorScope]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/supervisor-scope.html 208*7a7160feSAndroid Build Coastguard Worker[withContext]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/with-context.html 209*7a7160feSAndroid Build Coastguard Worker[withTimeout]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/with-timeout.html 210*7a7160feSAndroid Build Coastguard Worker[MainScope()]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-main-scope.html 211*7a7160feSAndroid Build Coastguard Worker[SupervisorJob()]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-supervisor-job.html 212*7a7160feSAndroid Build Coastguard Worker[CoroutineExceptionHandler]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-exception-handler/index.html 213*7a7160feSAndroid Build Coastguard Worker[Dispatchers.IO]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-i-o.html 214*7a7160feSAndroid Build Coastguard Worker[asCoroutineDispatcher]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/as-coroutine-dispatcher.html 215*7a7160feSAndroid Build Coastguard Worker[Promise.await]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/await.html 216*7a7160feSAndroid Build Coastguard Worker[promise]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/[js]promise.html 217*7a7160feSAndroid Build Coastguard Worker[Window.asCoroutineDispatcher]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/as-coroutine-dispatcher.html 218*7a7160feSAndroid Build Coastguard Worker 219*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.flow --> 220*7a7160feSAndroid Build Coastguard Worker 221*7a7160feSAndroid Build Coastguard Worker[Flow]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html 222*7a7160feSAndroid Build Coastguard Worker[_flow]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/flow.html 223*7a7160feSAndroid Build Coastguard Worker[filter]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/filter.html 224*7a7160feSAndroid Build Coastguard Worker[map]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/map.html 225*7a7160feSAndroid Build Coastguard Worker 226*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.channels --> 227*7a7160feSAndroid Build Coastguard Worker 228*7a7160feSAndroid Build Coastguard Worker[Channel]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.channels/-channel/index.html 229*7a7160feSAndroid Build Coastguard Worker 230*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.selects --> 231*7a7160feSAndroid Build Coastguard Worker 232*7a7160feSAndroid Build Coastguard Worker[select]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.selects/select.html 233*7a7160feSAndroid Build Coastguard Worker 234*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.sync --> 235*7a7160feSAndroid Build Coastguard Worker 236*7a7160feSAndroid Build Coastguard Worker[Mutex]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.sync/-mutex/index.html 237*7a7160feSAndroid Build Coastguard Worker[Semaphore]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.sync/-semaphore/index.html 238*7a7160feSAndroid Build Coastguard Worker 239*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-test --> 240*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.test --> 241*7a7160feSAndroid Build Coastguard Worker 242*7a7160feSAndroid Build Coastguard Worker[Dispatchers.setMain]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-test/kotlinx.coroutines.test/set-main.html 243*7a7160feSAndroid Build Coastguard Worker[TestCoroutineScope]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-test/kotlinx.coroutines.test/-test-coroutine-scope/index.html 244*7a7160feSAndroid Build Coastguard Worker 245*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-debug --> 246*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.debug --> 247*7a7160feSAndroid Build Coastguard Worker 248*7a7160feSAndroid Build Coastguard Worker[DebugProbes]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-debug/kotlinx.coroutines.debug/-debug-probes/index.html 249*7a7160feSAndroid Build Coastguard Worker 250*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.debug.junit4 --> 251*7a7160feSAndroid Build Coastguard Worker 252*7a7160feSAndroid Build Coastguard Worker[CoroutinesTimeout]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-debug/kotlinx.coroutines.debug.junit4/-coroutines-timeout/index.html 253*7a7160feSAndroid Build Coastguard Worker 254*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-slf4j --> 255*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.slf4j --> 256*7a7160feSAndroid Build Coastguard Worker 257*7a7160feSAndroid Build Coastguard Worker[MDCContext]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-slf4j/kotlinx.coroutines.slf4j/-m-d-c-context/index.html 258*7a7160feSAndroid Build Coastguard Worker 259*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-jdk8 --> 260*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.future --> 261*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-guava --> 262*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.guava --> 263*7a7160feSAndroid Build Coastguard Worker 264*7a7160feSAndroid Build Coastguard Worker[ListenableFuture.await]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-guava/kotlinx.coroutines.guava/await.html 265*7a7160feSAndroid Build Coastguard Worker 266*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-play-services --> 267*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.tasks --> 268*7a7160feSAndroid Build Coastguard Worker 269*7a7160feSAndroid Build Coastguard Worker[Task.await]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-play-services/kotlinx.coroutines.tasks/await.html 270*7a7160feSAndroid Build Coastguard Worker 271*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-reactive --> 272*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.reactive --> 273*7a7160feSAndroid Build Coastguard Worker 274*7a7160feSAndroid Build Coastguard Worker[Publisher.collect]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/collect.html 275*7a7160feSAndroid Build Coastguard Worker[Publisher.awaitSingle]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/await-single.html 276*7a7160feSAndroid Build Coastguard Worker[kotlinx.coroutines.reactive.publish]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/publish.html 277*7a7160feSAndroid Build Coastguard Worker 278*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-rx2 --> 279*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.rx2 --> 280*7a7160feSAndroid Build Coastguard Worker 281*7a7160feSAndroid Build Coastguard Worker[rxFlowable]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-rx2/kotlinx.coroutines.rx2/rx-flowable.html 282*7a7160feSAndroid Build Coastguard Worker[rxSingle]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-rx2/kotlinx.coroutines.rx2/rx-single.html 283*7a7160feSAndroid Build Coastguard Worker 284*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-rx2 --> 285*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.rx2 --> 286*7a7160feSAndroid Build Coastguard Worker<!--- MODULE kotlinx-coroutines-reactor --> 287*7a7160feSAndroid Build Coastguard Worker<!--- INDEX kotlinx.coroutines.reactor --> 288*7a7160feSAndroid Build Coastguard Worker 289*7a7160feSAndroid Build Coastguard Worker[flux]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-reactor/kotlinx.coroutines.reactor/flux.html 290*7a7160feSAndroid Build Coastguard Worker[mono]: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-reactor/kotlinx.coroutines.reactor/mono.html 291*7a7160feSAndroid Build Coastguard Worker 292*7a7160feSAndroid Build Coastguard Worker<!--- END --> 293