Class Partition<T>

All Implemented Interfaces:
Graph<UniformFanOutShape<T,T>,NotUsed>

public final class Partition<T> extends GraphStage<UniformFanOutShape<T,T>>
Fan-out the stream to several streams. emitting an incoming upstream element to one downstream consumer according to the partitioner function applied to the element

Adheres to the ActorAttributes.SupervisionStrategy attribute.

'''Emits when''' emits when an element is available from the input and the chosen output has demand

'''Backpressures when''' the currently chosen output back-pressures

'''Completes when''' upstream completes and no output is pending

'''Cancels when''' all downstreams have cancelled (eagerCancel=false) or one downstream cancels (eagerCancel=true)

  • Constructor Details

    • Partition

      public Partition(int outputPorts, scala.Function1<T,Object> partitioner, boolean eagerCancel)
  • Method Details

    • apply

      public static <T> Partition<T> apply(int outputPorts, scala.Function1<T,Object> partitioner)
      Create a new Partition operator with the specified input type. This method sets eagerCancel to false. To specify a different value for the eagerCancel parameter, then instantiate Partition using the constructor.

      If eagerCancel is true, partition cancels upstream if any of its downstreams cancel, if false, when all have cancelled.

      Parameters:
      outputPorts - number of output ports
      partitioner - function deciding which output each element will be targeted
    • outputPorts

      public int outputPorts()
    • partitioner

      public scala.Function1<T,Object> partitioner()
    • eagerCancel

      public boolean eagerCancel()
    • in

      public Inlet<T> in()
    • out

      public scala.collection.immutable.Seq<Outlet<T>> out()
    • shape

      public UniformFanOutShape<T,T> shape()
      Description copied from interface: Graph
      The shape of a graph is all that is externally visible: its inlets and outlets.
    • createLogic

      public GraphStageLogic createLogic(Attributes inheritedAttributes)
      Specified by:
      createLogic in class GraphStage<UniformFanOutShape<T,T>>
    • toString

      public String toString()
      Overrides:
      toString in class Object