public class CoupledTerminationFlow$
extends java.lang.Object
Flow.fromSinkAndSource
however that API does not connect the completion signals of the wrapped stages.Modifier and Type | Field and Description |
---|---|
static CoupledTerminationFlow$ |
MODULE$
Static reference to the singleton instance of this Scala object.
|
Constructor and Description |
---|
CoupledTerminationFlow$() |
Modifier and Type | Method and Description |
---|---|
<I,O,M1,M2> |
fromSinkAndSource(Sink<I,M1> in,
Source<O,M2> out)
Similar to
Flow.fromSinkAndSource however couples the termination of these two stages. |
public static final CoupledTerminationFlow$ MODULE$
public <I,O,M1,M2> Flow<I,O,scala.Tuple2<M1,M2>> fromSinkAndSource(Sink<I,M1> in, Source<O,M2> out)
Flow.fromSinkAndSource
however couples the termination of these two stages.
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
and out
sides receive their respective completion signals is not defined, do not rely on its ordering.
in
- (undocumented)out
- (undocumented)