Class MergePrioritized

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

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

A MergePrioritized has one out port, one or more input port with their priorities.

'''Emits when''' one of the inputs has an element available, preferring a input based on its priority if multiple have elements available

'''Backpressures when''' downstream backpressures

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

'''Cancels when''' downstream cancels

A Broadcast has one in port and 2 or more out ports.

  • Constructor Details

    • MergePrioritized

      public MergePrioritized()
  • Method Details

    • create

      public static <T> Graph<UniformFanInShape<T,T>,NotUsed> create(int[] priorities)
      Create a new MergePrioritized operator with the specified output type.
    • create

      public static <T> Graph<UniformFanInShape<T,T>,NotUsed> create(Class<T> clazz, int[] priorities)
      Create a new MergePrioritized operator with the specified output type.
    • create

      public static <T> Graph<UniformFanInShape<T,T>,NotUsed> create(int[] priorities, boolean eagerComplete)
      Create a new MergePrioritized 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<UniformFanInShape<T,T>,NotUsed> create(Class<T> clazz, int[] priorities, boolean eagerComplete)
      Create a new MergePrioritized 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