Class MergePreferred

java.lang.Object
org.apache.pekko.stream.javadsl.MergePreferred

public class MergePreferred extends Object
Merge several streams, taking elements as they arrive from input streams (picking from preferred when several have elements ready).

'''Emits when''' one of the inputs has an element available, preferring a specified input if multiple have elements available

'''Backpressures when''' downstream backpressures

'''Completes when''' all upstreams complete (eagerComplete=false) or one upstream completes (eagerComplete=true)

'''Cancels when''' downstream cancels

  • Constructor Details

    • MergePreferred

      public MergePreferred()
  • Method Details

    • create

      public static <T> Graph<MergePreferred.MergePreferredShape<T>,NotUsed> create(int secondaryPorts)
      Create a new MergePreferred operator with the specified output type.
    • create

      public static <T> Graph<MergePreferred.MergePreferredShape<T>,NotUsed> create(Class<T> clazz, int secondaryPorts)
      Create a new MergePreferred operator with the specified output type.
    • create

      public static <T> Graph<MergePreferred.MergePreferredShape<T>,NotUsed> create(int secondaryPorts, boolean eagerComplete)
      Create a new MergePreferred operator with the specified output type.

      Parameters:
      eagerComplete - set to true in order to make this operator eagerly finish as soon as one of its inputs completes
    • create

      public static <T> Graph<MergePreferred.MergePreferredShape<T>,NotUsed> create(Class<T> clazz, int secondaryPorts, boolean eagerComplete)
      Create a new MergePreferred operator with the specified output type.

      Parameters:
      eagerComplete - set to true in order to make this operator eagerly finish as soon as one of its inputs completes