object CoupledTerminationFlow
Allows coupling termination (cancellation, completion, erroring) of Sinks and Sources while creating a Flow from them.
Similar to Flow.fromSinkAndSource
however that API does not connect the completion signals of the wrapped operators.
- Alphabetic
- By Inheritance
- CoupledTerminationFlow
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Deprecated Value Members
- def fromSinkAndSource[I, O, M1, M2](in: Sink[I, M1], out: Source[O, M2]): Flow[I, O, (M1, M2)]
Similar to Flow.fromSinkAndSource however couples the termination of these two operators.
Similar to Flow.fromSinkAndSource however couples the termination of these two operators.
E.g. if the emitted Flow gets a cancellation, the Source of course is cancelled, however the Sink will also be completed. The table below illustrates the effects in detail:
Returned Flow Sink ( in
)Source ( out
)cause: upstream (sink-side) receives completion effect: receives completion effect: receives cancel cause: upstream (sink-side) receives error effect: receives error effect: receives cancel cause: downstream (source-side) receives cancel effect: completes effect: receives cancel effect: cancels upstream, completes downstream effect: completes cause: signals complete effect: cancels upstream, errors downstream effect: receives error cause: signals error or throws effect: cancels upstream, completes downstream cause: cancels effect: receives cancel The order in which the
in
andout
sides receive their respective completion signals is not defined, do not rely on its ordering.- Annotations
- @deprecated
- Deprecated
(Since version 2.5.2) Use
Flow.fromSinkAndSourceCoupledMat(..., ...)(Keep.both)
instead