Package org.apache.pekko.stream.scaladsl
Class Concat<T>
java.lang.Object
org.apache.pekko.stream.stage.GraphStageWithMaterializedValue<S,NotUsed>
org.apache.pekko.stream.stage.GraphStage<UniformFanInShape<T,T>>
org.apache.pekko.stream.scaladsl.Concat<T>
- All Implemented Interfaces:
Graph<UniformFanInShape<T,
T>, NotUsed>
Takes multiple streams and outputs one stream formed from the input streams
by first emitting all of the elements from the first stream and then emitting
all of the elements from the second stream, etc.
A Concat
has one first
port, one second
port and one out
port.
'''Emits when''' the current stream has an element available; if the current input completes, it tries the next one
'''Backpressures when''' downstream backpressures
'''Completes when''' all upstreams complete
'''Cancels when''' downstream cancels
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.pekko.stream.Graph
Graph.GraphMapMatVal<S extends Shape,
M> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> Graph<UniformFanInShape<T,
T>, NotUsed> apply
(int inputPorts) Create a newConcat
.static <T> Graph<UniformFanInShape<T,
T>, NotUsed> apply
(int inputPorts, boolean detachedInputs) Create a newConcat
operator that will concatenate two or more streams.static <T> int
createLogic
(Attributes inheritedAttributes) in()
int
out()
shape()
The shape of a graph is all that is externally visible: its inlets and outlets.toString()
Methods inherited from class org.apache.pekko.stream.stage.GraphStage
createLogicAndMaterializedValue
Methods inherited from class org.apache.pekko.stream.stage.GraphStageWithMaterializedValue
withAttributes
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.pekko.stream.Graph
addAttributes, async, async, async, getAttributes, named
-
Constructor Details
-
Concat
public Concat(int inputPorts)
-
-
Method Details
-
apply
Create a newConcat
. Note that this for historical reasons creates a "detached" Concat which will eagerly pull each input on materialization and act as a one element buffer for each input. -
apply
public static <T> Graph<UniformFanInShape<T,T>, applyNotUsed> (int inputPorts, boolean detachedInputs) Create a newConcat
operator that will concatenate two or more streams.- Parameters:
inputPorts
- The number of fan-in input portsdetachedInputs
- If the ports should be detached (eagerly pull both inputs) useful to avoid deadlocks in graphs with loops- Returns:
-
apply$default$1
public static <T> int apply$default$1() -
inputPorts
public int inputPorts() -
in
-
out
-
initialAttributes
- Overrides:
initialAttributes
in classGraphStageWithMaterializedValue<UniformFanInShape<T,
T>, NotUsed>
-
shape
Description copied from interface:Graph
The shape of a graph is all that is externally visible: its inlets and outlets. -
createLogic
- Specified by:
createLogic
in classGraphStage<UniformFanInShape<T,
T>>
-
toString
-