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
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Balance
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. 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.

  2. 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 is false.

    Create a new Balance operator with the specified input type, eagerCancel is false.

    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

  3. def create[T](clazz: Class[T], outputCount: Int): Graph[UniformFanOutShape[T, T], NotUsed]

    Create a new Balance operator with the specified input type, both waitForAllDownstreams and eagerCancel are false.

    Create a new Balance operator with the specified input type, both waitForAllDownstreams and eagerCancel are false.

    clazz

    a type hint for this method

    outputCount

    number of output ports

  4. def create[T](outputCount: Int): Graph[UniformFanOutShape[T, T], NotUsed]

    Create a new Balance operator with the specified input type, both waitForAllDownstreams and eagerCancel are false.

    Create a new Balance operator with the specified input type, both waitForAllDownstreams and eagerCancel are false.

    outputCount

    number of output ports

  5. 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.

  6. def create[T](outputCount: Int, waitForAllDownstreams: Boolean): Graph[UniformFanOutShape[T, T], NotUsed]

    Create a new Balance operator with the specified input type, eagerCancel is false.

    Create a new Balance operator with the specified input type, eagerCancel is false.

    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