Packages

final class MergeSequence[T] extends GraphStage[UniformFanInShape[T, T]]

Takes multiple streams whose elements in aggregate have a defined linear sequence with difference 1, starting at 0, and outputs a single stream containing these elements, in order. That is, given a set of input streams with combined elements *ek*:

*e0*, *e1*, *e2*, ..., *en*

This will output a stream ordered by *k*.

The elements in the input streams must already be sorted according to the sequence. The input streams do not need to be linear, but the aggregate stream must be linear, no element *k* may be skipped or duplicated, either of these conditions will cause the stream to fail.

The typical use case for this is to merge a partitioned stream back together while maintaining order. This can be achieved by first using zipWithIndex on the input stream, then partitioning using a Partition fanout, and then maintaining the index through the processing of each partition before bringing together with this stage.

Emits when one of the upstreams has the next expected element in the sequence available.

Backpressures when downstream backpressures

Completes when all upstreams complete

Cancels when downstream cancels

Source
Graph.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MergeSequence
  2. GraphStage
  3. GraphStageWithMaterializedValue
  4. Graph
  5. AnyRef
  6. Any
Implicitly
  1. by GraphMapMatVal
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MergeSequence(inputPorts: Int)(extractSequence: (T) => Long)

Type Members

  1. type Shape = UniformFanInShape[T, T]

    Type-level accessor for the shape parameter of this graph.

    Type-level accessor for the shape parameter of this graph.

    Definition Classes
    Graph

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from MergeSequence[T] toany2stringadd[MergeSequence[T]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (MergeSequence[T], B)
    Implicit
    This member is added by an implicit conversion from MergeSequence[T] toArrowAssoc[MergeSequence[T]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def addAttributes(attr: Attributes): Graph[UniformFanInShape[T, T], NotUsed]

    Add the given attributes to this Graph.

    Add the given attributes to this Graph. If the specific attribute was already present on this graph this means the added attribute will be more specific than the existing one. If this Source is a composite of multiple graphs, new attributes on the composite will be less specific than attributes set directly on the individual graphs of the composite.

    Definition Classes
    Graph
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def async(dispatcher: String, inputBufferSize: Int): Graph[UniformFanInShape[T, T], NotUsed]

    Put an asynchronous boundary around this Graph

    Put an asynchronous boundary around this Graph

    dispatcher

    Run the graph on this dispatcher

    inputBufferSize

    Set the input buffer to this size for the graph

    Definition Classes
    Graph
  9. def async(dispatcher: String): Graph[UniformFanInShape[T, T], NotUsed]

    Put an asynchronous boundary around this Graph

    Put an asynchronous boundary around this Graph

    dispatcher

    Run the graph on this dispatcher

    Definition Classes
    Graph
  10. def async: Graph[UniformFanInShape[T, T], NotUsed]

    Put an asynchronous boundary around this Graph

    Put an asynchronous boundary around this Graph

    Definition Classes
    Graph
  11. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  12. def createLogic(inheritedAttributes: Attributes): GraphStageLogic
    Definition Classes
    MergeSequenceGraphStage
  13. final def createLogicAndMaterializedValue(inheritedAttributes: Attributes): (GraphStageLogic, NotUsed)
  14. def ensuring(cond: (MergeSequence[T]) => Boolean, msg: => Any): MergeSequence[T]
    Implicit
    This member is added by an implicit conversion from MergeSequence[T] toEnsuring[MergeSequence[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: (MergeSequence[T]) => Boolean): MergeSequence[T]
    Implicit
    This member is added by an implicit conversion from MergeSequence[T] toEnsuring[MergeSequence[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: Boolean, msg: => Any): MergeSequence[T]
    Implicit
    This member is added by an implicit conversion from MergeSequence[T] toEnsuring[MergeSequence[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: Boolean): MergeSequence[T]
    Implicit
    This member is added by an implicit conversion from MergeSequence[T] toEnsuring[MergeSequence[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  20. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from MergeSequence[T] toStringFormat[MergeSequence[T]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  21. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. def initialAttributes: Attributes
    Attributes
    protected
    Definition Classes
    GraphStageWithMaterializedValue
  24. val inputPorts: Int
  25. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  26. def mapMaterializedValue[M2](f: (NotUsed) => M2): Graph[UniformFanInShape[T, T], M2]

    Transform the materialized value of this Graph, leaving all other properties as they were.

    Transform the materialized value of this Graph, leaving all other properties as they were.

    f

    function to map the graph's materialized value

    Implicit
    This member is added by an implicit conversion from MergeSequence[T] toGraphMapMatVal[UniformFanInShape[T, T], NotUsed] performed by method GraphMapMatVal in akka.stream.Graph.
    Definition Classes
    GraphMapMatVal
  27. def named(name: String): Graph[UniformFanInShape[T, T], NotUsed]
    Definition Classes
    Graph
  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  31. val shape: UniformFanInShape[T, T]

    The shape of a graph is all that is externally visible: its inlets and outlets.

    The shape of a graph is all that is externally visible: its inlets and outlets.

    Definition Classes
    MergeSequenceGraph
  32. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  33. def toString(): String
    Definition Classes
    MergeSequence → AnyRef → Any
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  36. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  37. final def withAttributes(attr: Attributes): Graph[UniformFanInShape[T, T], NotUsed]

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

  2. def [B](y: B): (MergeSequence[T], B)
    Implicit
    This member is added by an implicit conversion from MergeSequence[T] toArrowAssoc[MergeSequence[T]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from GraphStage[UniformFanInShape[T, T]]

Inherited from Graph[UniformFanInShape[T, T], NotUsed]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion GraphMapMatVal fromMergeSequence[T] to GraphMapMatVal[UniformFanInShape[T, T], NotUsed]

Inherited by implicit conversion any2stringadd fromMergeSequence[T] to any2stringadd[MergeSequence[T]]

Inherited by implicit conversion StringFormat fromMergeSequence[T] to StringFormat[MergeSequence[T]]

Inherited by implicit conversion Ensuring fromMergeSequence[T] to Ensuring[MergeSequence[T]]

Inherited by implicit conversion ArrowAssoc fromMergeSequence[T] to ArrowAssoc[MergeSequence[T]]

Ungrouped