1# Module kotlinx-coroutines-reactor
2
3Utilities for [Reactor](https://projectreactor.io).
4
5Coroutine builders:
6
7| **Name**        | **Result**  | **Scope**        | **Description**
8| --------------- | ------------| ---------------- | ---------------
9| [mono]          | `Mono`      | [CoroutineScope] | A cold Mono that starts the coroutine on subscription
10| [flux]          | `Flux`      | [CoroutineScope] | A cold Flux that starts the coroutine on subscription
11
12Note that `Mono` and `Flux` are subclasses of [Reactive Streams](https://www.reactive-streams.org)'
13`Publisher` and extensions for it are covered by the
14[kotlinx-coroutines-reactive](../kotlinx-coroutines-reactive) module.
15
16Integration with [Flow]:
17
18| **Name**        | **Result**     | **Description**
19| --------------- | -------------- | ---------------
20| [Flow.asFlux]   | `Flux`         | Converts the given flow to a TCK-compliant Flux.
21
22This adapter is integrated with Reactor's `Context` and coroutines' [ReactorContext].
23
24Conversion functions:
25
26| **Name** | **Description**
27| -------- | ---------------
28| [Job.asMono][kotlinx.coroutines.Job.asMono] | Converts a job to a hot Mono
29| [Deferred.asMono][kotlinx.coroutines.Deferred.asMono] | Converts a deferred value to a hot Mono
30| [ReceiveChannel.asFlux][kotlinx.coroutines.channels.ReceiveChannel.asFlux] | Converts a streaming channel to a hot Flux
31| [Scheduler.asCoroutineDispatcher][reactor.core.scheduler.Scheduler.asCoroutineDispatcher] | Converts a scheduler to a [CoroutineDispatcher]
32
33<!--- MODULE kotlinx-coroutines-core -->
34<!--- INDEX kotlinx.coroutines -->
35[CoroutineScope]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html
36[CoroutineDispatcher]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-dispatcher/index.html
37<!--- INDEX kotlinx.coroutines.channels -->
38<!--- INDEX kotlinx.coroutines.flow -->
39[Flow]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html
40<!--- MODULE kotlinx-coroutines-reactor -->
41<!--- INDEX kotlinx.coroutines.reactor -->
42[mono]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactor/kotlinx.coroutines.reactor/mono.html
43[flux]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactor/kotlinx.coroutines.reactor/flux.html
44[Flow.asFlux]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactor/kotlinx.coroutines.reactor/kotlinx.coroutines.flow.-flow/as-flux.html
45[ReactorContext]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactor/kotlinx.coroutines.reactor/-reactor-context/index.html
46[kotlinx.coroutines.Job.asMono]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactor/kotlinx.coroutines.reactor/kotlinx.coroutines.-job/as-mono.html
47[kotlinx.coroutines.Deferred.asMono]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactor/kotlinx.coroutines.reactor/kotlinx.coroutines.-deferred/as-mono.html
48[kotlinx.coroutines.channels.ReceiveChannel.asFlux]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactor/kotlinx.coroutines.reactor/kotlinx.coroutines.channels.-receive-channel/as-flux.html
49[reactor.core.scheduler.Scheduler.asCoroutineDispatcher]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactor/kotlinx.coroutines.reactor/reactor.core.scheduler.-scheduler/as-coroutine-dispatcher.html
50<!--- END -->
51
52# Package kotlinx.coroutines.reactor
53
54Utilities for [Reactor](https://projectreactor.io).
55