object Balance
Fan-out the stream to several streams. Each upstream element is emitted to the first available downstream consumer. It will not shutdown until the subscriptions for at least two downstream subscribers have been established.
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
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- def create[T](clazz: Class[T], outputCount: Int, waitForAllDownstreams: Boolean, eagerCancel: Boolean): Graph[UniformFanOutShape[T, T], NotUsed]
Create a new
Balance
operator with the specified input type.Create a new
Balance
operator with the specified input type.- clazz
a type hint for this method
- outputCount
number of output ports
- waitForAllDownstreams
if
true
it will not start emitting elements to downstream outputs until all of them have requested at least one element- eagerCancel
if true, balance cancels upstream if any of its downstreams cancel, if false, when all have cancelled.
- def create[T](clazz: Class[T], outputCount: Int, waitForAllDownstreams: Boolean): Graph[UniformFanOutShape[T, T], NotUsed]
Create a new
Balance
operator with the specified input type,eagerCancel
isfalse
.Create a new
Balance
operator with the specified input type,eagerCancel
isfalse
.- clazz
a type hint for this method
- outputCount
number of output ports
- waitForAllDownstreams
if
true
it will not start emitting elements to downstream outputs until all of them have requested at least one element
- def create[T](clazz: Class[T], outputCount: Int): Graph[UniformFanOutShape[T, T], NotUsed]
Create a new
Balance
operator with the specified input type, bothwaitForAllDownstreams
andeagerCancel
arefalse
.Create a new
Balance
operator with the specified input type, bothwaitForAllDownstreams
andeagerCancel
arefalse
.- clazz
a type hint for this method
- outputCount
number of output ports
- def create[T](outputCount: Int): Graph[UniformFanOutShape[T, T], NotUsed]
Create a new
Balance
operator with the specified input type, bothwaitForAllDownstreams
andeagerCancel
arefalse
.Create a new
Balance
operator with the specified input type, bothwaitForAllDownstreams
andeagerCancel
arefalse
.- outputCount
number of output ports
- def create[T](outputCount: Int, waitForAllDownstreams: Boolean, eagerCancel: Boolean): Graph[UniformFanOutShape[T, T], NotUsed]
Create a new
Balance
operator with the specified input type.Create a new
Balance
operator with the specified input type.- outputCount
number of output ports
- waitForAllDownstreams
if
true
it will not start emitting elements to downstream outputs until all of them have requested at least one element- eagerCancel
if true, balance cancels upstream if any of its downstreams cancel, if false, when all have cancelled.
- def create[T](outputCount: Int, waitForAllDownstreams: Boolean): Graph[UniformFanOutShape[T, T], NotUsed]
Create a new
Balance
operator with the specified input type,eagerCancel
isfalse
.Create a new
Balance
operator with the specified input type,eagerCancel
isfalse
.- outputCount
number of output ports
- waitForAllDownstreams
if
true
it will not start emitting elements to downstream outputs until all of them have requested at least one element