flux
@JvmOverloads fun <T> flux(
context: CoroutineContext = DefaultDispatcher,
block: suspend ProducerScope<T>.() -> Unit
): Flux<T>
Creates cold reactive Flux that runs a given block in a coroutine.
Every time the returned flux is subscribed, it starts a new coroutine in the specified context.
Coroutine emits items with send
. Unsubscribing cancels running coroutine.
Invocations of send
are suspended appropriately when subscribers apply back-pressure and to ensure that
onNext
is not invoked concurrently.
Coroutine action | Signal to subscriber |
---|---|
send |
onNext |
Normal completion or close without cause |
onComplete |
Failure with exception or close with cause |
onError |