Package akka.stream.scaladsl
Class Broadcast<T>
- java.lang.Object
-
- akka.stream.stage.GraphStageWithMaterializedValue<S,NotUsed>
-
- akka.stream.stage.GraphStage<UniformFanOutShape<T,T>>
-
- akka.stream.scaladsl.Broadcast<T>
-
- All Implemented Interfaces:
Graph<UniformFanOutShape<T,T>,NotUsed>
public final class Broadcast<T> extends GraphStage<UniformFanOutShape<T,T>>
Fan-out the stream to several streams emitting each incoming upstream element to all downstream consumers. It will not shut down until the subscriptions for at least two downstream subscribers have been established.'''Emits when''' all of the outputs stops backpressuring and there is an input element available
'''Backpressures when''' any of the outputs backpressure
'''Completes when''' upstream completes
'''Cancels when''' If eagerCancel is enabled: when any downstream cancels; otherwise: when all downstreams cancel
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface akka.stream.Graph
Graph.GraphMapMatVal<S extends Shape,M>
-
-
Constructor Summary
Constructors Constructor Description Broadcast(int outputPorts, boolean eagerCancel)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> Broadcast<T>
apply(int outputPorts, boolean eagerCancel)
Create a newBroadcast
with the specified number of output ports.static <T> boolean
apply$default$2()
GraphStageLogic
createLogic(Attributes inheritedAttributes)
boolean
eagerCancel()
Inlet<T>
in()
Attributes
initialAttributes()
scala.collection.immutable.IndexedSeq<Outlet<T>>
out()
int
outputPorts()
UniformFanOutShape<T,T>
shape()
The shape of a graph is all that is externally visible: its inlets and outlets.java.lang.String
toString()
-
Methods inherited from class akka.stream.stage.GraphStage
createLogicAndMaterializedValue
-
Methods inherited from class akka.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 akka.stream.Graph
addAttributes, async, async, async, getAttributes, named
-
-
-
-
Method Detail
-
apply
public static <T> Broadcast<T> apply(int outputPorts, boolean eagerCancel)
Create a newBroadcast
with the specified number of output ports.- Parameters:
outputPorts
- number of output portseagerCancel
- if true, broadcast cancels upstream if any of its downstreams cancel.
-
apply$default$2
public static <T> boolean apply$default$2()
-
outputPorts
public int outputPorts()
-
eagerCancel
public boolean eagerCancel()
-
initialAttributes
public Attributes initialAttributes()
- Overrides:
initialAttributes
in classGraphStageWithMaterializedValue<UniformFanOutShape<T,T>,NotUsed>
-
shape
public UniformFanOutShape<T,T> shape()
Description copied from interface:Graph
The shape of a graph is all that is externally visible: its inlets and outlets.
-
createLogic
public GraphStageLogic createLogic(Attributes inheritedAttributes)
- Specified by:
createLogic
in classGraphStage<UniformFanOutShape<T,T>>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-