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
- Alphabetic
- By Inheritance
- MergePreferred
- GraphStage
- GraphStageWithMaterializedValue
- Graph
- AnyRef
- Any
- by GraphMapMatVal
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- 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
- 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
- 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
- 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
- def async: Graph[MergePreferredShape[T], NotUsed]
Put an asynchronous boundary around this
Graph
Put an asynchronous boundary around this
Graph
- Definition Classes
- Graph
- def createLogic(inheritedAttributes: Attributes): GraphStageLogic
- Definition Classes
- MergePreferred → GraphStage
- final def createLogicAndMaterializedValue(inheritedAttributes: Attributes): (GraphStageLogic, NotUsed)
- Definition Classes
- GraphStage → GraphStageWithMaterializedValue
- val eagerComplete: Boolean
- def getAttributes: Attributes
- Definition Classes
- Graph
- def in(id: Int): Inlet[T]
- def initialAttributes: Attributes
- Definition Classes
- MergePreferred → GraphStageWithMaterializedValue
- def mapMaterializedValue[M2](f: (NotUsed) => M2): Graph[MergePreferredShape[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 MergePreferred[T] toGraphMapMatVal[MergePreferredShape[T], NotUsed] performed by method GraphMapMatVal in org.apache.pekko.stream.Graph.
- Definition Classes
- GraphMapMatVal
- def named(name: String): Graph[MergePreferredShape[T], NotUsed]
Specifies the name of the Graph.
Specifies the name of the Graph. If the name is null or empty the name is ignored, i.e. Attributes.none is returned.
- Definition Classes
- Graph
- def out: Outlet[T]
- def preferred: Inlet[T]
- val secondaryPorts: Int
- 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
- MergePreferred → Graph
- final def withAttributes(attr: Attributes): Graph[MergePreferredShape[T], NotUsed]
Replace the attributes of this Flow with the given ones.
Replace the attributes of this Flow with the given ones. If this Flow 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
- GraphStageWithMaterializedValue → Graph