final class Balance[T] extends GraphStage[UniformFanOutShape[T, T]]
Fan-out the stream to several streams. Each upstream element is emitted to the first available downstream consumer. It will not shut down until the subscriptions for at least two downstream subscribers have been established.
A Balance
has one in
port and 2 or more out
ports.
Emits when any of the outputs stops backpressuring; emits the element to the first available output
Backpressures when all of the outputs backpressure
Completes when upstream completes
Cancels when If eagerCancel is enabled: when any downstream cancels; otherwise: when all downstreams cancel
- Source
- Graph.scala
- Alphabetic
- By Inheritance
- Balance
- GraphStage
- GraphStageWithMaterializedValue
- Graph
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
Type Members
-
type
Shape = UniformFanOutShape[T, 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[UniformFanOutShape[T, 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[UniformFanOutShape[T, 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[UniformFanOutShape[T, 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[UniformFanOutShape[T, 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
- Balance → GraphStage
-
final
def
createLogicAndMaterializedValue(inheritedAttributes: Attributes): (GraphStageLogic, NotUsed)
- Definition Classes
- GraphStage → GraphStageWithMaterializedValue
- val eagerCancel: Boolean
- val in: Inlet[T]
-
def
initialAttributes: Attributes
- Definition Classes
- Balance → GraphStageWithMaterializedValue
-
def
named(name: String): Graph[UniformFanOutShape[T, T], NotUsed]
- Definition Classes
- Graph
- val out: IndexedSeq[Outlet[T]]
- val outputPorts: Int
-
val
shape: UniformFanOutShape[T, T]
The shape of a graph is all that is externally visible: its inlets and outlets.
-
def
toString(): String
- Definition Classes
- Balance → AnyRef → Any
- val waitForAllDownstreams: Boolean
-
final
def
withAttributes(attr: Attributes): Graph[UniformFanOutShape[T, T], NotUsed]
- Definition Classes
- GraphStageWithMaterializedValue → Graph