Packages

final class MergePreferred[T] extends GraphStage[MergePreferredShape[T]]

Merge several streams, taking elements as they arrive from input streams (picking from preferred when several have elements ready).

A MergePreferred has one out port, one preferred input port and 1 or more secondary in ports.

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), default value is false

Cancels when downstream cancels

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

Instance Constructors

  1. new MergePreferred(secondaryPorts: Int, eagerComplete: Boolean)

Type Members

  1. type Shape = MergePreferredShape[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. def addAttributes(attr: Attributes): Graph[MergePreferredShape[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
  2. def async(dispatcher: String, inputBufferSize: Int): Graph[MergePreferredShape[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
  3. def async(dispatcher: String): Graph[MergePreferredShape[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
  4. def async: Graph[MergePreferredShape[T], NotUsed]

    Put an asynchronous boundary around this Graph

    Put an asynchronous boundary around this Graph

    Definition Classes
    Graph
  5. def createLogic(inheritedAttributes: Attributes): GraphStageLogic
    Definition Classes
    MergePreferredGraphStage
  6. final def createLogicAndMaterializedValue(inheritedAttributes: Attributes): (GraphStageLogic, NotUsed)
  7. val eagerComplete: Boolean
  8. def in(id: Int): Inlet[T]
  9. def initialAttributes: Attributes
  10. def named(name: String): Graph[MergePreferredShape[T], NotUsed]
    Definition Classes
    Graph
  11. def out: Outlet[T]
  12. def preferred: Inlet[T]
  13. val secondaryPorts: Int
  14. val shape: MergePreferredShape[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
    MergePreferredGraph
  15. final def withAttributes(attr: Attributes): Graph[MergePreferredShape[T], NotUsed]
    Definition Classes
    GraphStageWithMaterializedValueGraph