Class CoupledTerminationFlow$

  • public class CoupledTerminationFlow$
    extends java.lang.Object
    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.
    • Field Summary

      Modifier and Type Field Description
      static CoupledTerminationFlow$ MODULE$
      Static reference to the singleton instance of this Scala object.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      fromSinkAndSource​(Sink<I,​M1> in, Source<O,​M2> out)
      Use `Flow.fromSinkAndSourceCoupledMat(..., ...)(Keep.both)` instead.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • MODULE$

        public static final CoupledTerminationFlow$ MODULE$
        Static reference to the singleton instance of this Scala object.
    • Constructor Detail

      • CoupledTerminationFlow$

        public CoupledTerminationFlow$()
    • Method Detail

      • fromSinkAndSource

        public <I,​O,​M1,​M2> Flow<I,​O,​scala.Tuple2<M1,​M2>> fromSinkAndSource​(Sink<I,​M1> in,
                                                                                                               Source<O,​M2> out)
        Use `Flow.fromSinkAndSourceCoupledMat(..., ...)(Keep.both)` instead. Since 2.5.2.
        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 and out sides receive their respective completion signals is not defined, do not rely on its ordering.