Every time the returned flux is subscribed, it starts a new coroutine in the specified context. The coroutine emits (via Flow.Subscriber.onNext) values with send, completes (via Flow.Subscriber.onComplete) when the coroutine completes or channel is explicitly closed, and emits errors (via Flow.Subscriber.onError) if the coroutine throws an exception or closes channel with a cause. Unsubscribing cancels the running coroutine.
Note: This is an experimental api. Behaviour of publishers that work as children in a parent scope with respect to cancellation and error handling may change in the future.