Class Balance


  • public class Balance
    extends java.lang.Object
    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

    • Constructor Summary

      Constructors 
      Constructor Description
      Balance()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(int outputCount)
      Create a new Balance operator with the specified input type, both waitForAllDownstreams and eagerCancel are false.
      static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(int outputCount, boolean waitForAllDownstreams)
      Create a new Balance operator with the specified input type, eagerCancel is false.
      static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(int outputCount, boolean waitForAllDownstreams, boolean eagerCancel)
      Create a new Balance operator with the specified input type.
      static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(java.lang.Class<T> clazz, int outputCount)
      Create a new Balance operator with the specified input type, both waitForAllDownstreams and eagerCancel are false.
      static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(java.lang.Class<T> clazz, int outputCount, boolean waitForAllDownstreams)
      Create a new Balance operator with the specified input type, eagerCancel is false.
      static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(java.lang.Class<T> clazz, int outputCount, boolean waitForAllDownstreams, boolean eagerCancel)
      Create a new Balance operator with the specified input type.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Balance

        public Balance()
    • Method Detail

      • create

        public static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(int outputCount,
                                                                                    boolean waitForAllDownstreams)
        Create a new Balance operator with the specified input type, eagerCancel is false.

        Parameters:
        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
      • create

        public static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(int outputCount,
                                                                                    boolean waitForAllDownstreams,
                                                                                    boolean eagerCancel)
        Create a new Balance operator with the specified input type.

        Parameters:
        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.
      • create

        public static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(int outputCount)
        Create a new Balance operator with the specified input type, both waitForAllDownstreams and eagerCancel are false.

        Parameters:
        outputCount - number of output ports
      • create

        public static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(java.lang.Class<T> clazz,
                                                                                    int outputCount)
        Create a new Balance operator with the specified input type, both waitForAllDownstreams and eagerCancel are false.

        Parameters:
        clazz - a type hint for this method
        outputCount - number of output ports
      • create

        public static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(java.lang.Class<T> clazz,
                                                                                    int outputCount,
                                                                                    boolean waitForAllDownstreams)
        Create a new Balance operator with the specified input type, eagerCancel is false.

        Parameters:
        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
      • create

        public static <T> Graph<UniformFanOutShape<T,​T>,​NotUsed> create​(java.lang.Class<T> clazz,
                                                                                    int outputCount,
                                                                                    boolean waitForAllDownstreams,
                                                                                    boolean eagerCancel)
        Create a new Balance operator with the specified input type.

        Parameters:
        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.