public class CoupledTerminationFlow extends java.lang.ObjectAllows coupling termination (cancellation, completion, erroring) of Sinks and Sources while creating a Flow from them. Similar to
Flow.fromSinkAndSourcehowever that API does not connect the completion signals of the wrapped operators.
Constructors Constructor Description
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description
fromSinkAndSource(Sink<I,M1> in, Source<O,M2> out)Deprecated.Use `Flow.fromSinkAndSourceCoupledMat(..., ...)(Keep.both)` instead.
public static <I,O,M1,M2> Flow<I,O,scala.Tuple2<M1,M2>> fromSinkAndSource(Sink<I,M1> in, Source<O,M2> out)Deprecated.Use `Flow.fromSinkAndSourceCoupledMat(..., ...)(Keep.both)` instead. Since 2.5.2.Similar to
Flow.fromSinkAndSourcehowever couples the termination of these two operators.
E.g. if the emitted
Flowgets a cancellation, the
Sourceof course is cancelled, however the Sink will also be completed. The table below illustrates the effects in detail:
Returned Flow Sink (
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
outsides receive their respective completion signals is not defined, do not rely on its ordering.