Class One2OneBidiFlow

  • public class One2OneBidiFlow
    extends java.lang.Object
    • Constructor Detail

      • One2OneBidiFlow

        public One2OneBidiFlow()
    • Method Detail

      • apply

        public static <I,​O><I,​I,​O,​O,​akka.NotUsed> apply​(int maxPending,
                                                                                                                    scala.Function1<java.lang.Object,​java.lang.Throwable> outputTruncationException,
                                                                                                                    scala.Function1<java.lang.Object,​java.lang.Throwable> unexpectedOutputException)
        Creates a generic BidiFlow which verifies that another flow produces exactly one output element per input element, at the right time. Specifically it

        1. triggers an UnexpectedOutputException if the inner flow produces an output element before having consumed the respective input element. 2. triggers an OutputTruncationException if the inner flow completes before having produced an output element for every input element. 3. triggers an OutputTruncationException if the inner flow cancels its inputs before the upstream completes its stream of inputs. 4. Backpressures the input side if the maximum number of pending output elements has been reached, which is given via the maxPending parameter. You can use -1 to disable this feature.

        maxPending - (undocumented)
        outputTruncationException - (undocumented)
        unexpectedOutputException - (undocumented)