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 0 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

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

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]
    Definition Classes
    Graph
  2. def async: Graph[MergePreferredShape[T], NotUsed]

    Put an asynchronous boundary around this Graph

    Put an asynchronous boundary around this Graph

    Definition Classes
    Graph
  3. def createLogic(inheritedAttributes: Attributes): GraphStageLogic
    Definition Classes
    MergePreferredGraphStage
  4. final def createLogicAndMaterializedValue(inheritedAttributes: Attributes): (GraphStageLogic, NotUsed)
  5. val eagerComplete: Boolean
  6. def in(id: Int): Inlet[T]
  7. def initialAttributes: Attributes
  8. final lazy val module: Module

    INTERNAL API.

    INTERNAL API.

    Every materializable element must be backed by a stream layout module

    Definition Classes
    GraphStageWithMaterializedValueGraph
  9. def named(name: String): Graph[MergePreferredShape[T], NotUsed]
    Definition Classes
    Graph
  10. def out: Outlet[T]
  11. def preferred: Inlet[T]
  12. val secondaryPorts: Int
  13. val shape: MergePreferredShape[T]
    Definition Classes
    MergePreferredGraph
  14. final def withAttributes(attr: Attributes): Graph[MergePreferredShape[T], NotUsed]
    Definition Classes
    GraphStageWithMaterializedValueGraph