Package io.grpc.xds

Class WeightedRoundRobinLoadBalancer.WeightedRoundRobinPicker

  • Enclosing class:
    WeightedRoundRobinLoadBalancer

    static final class WeightedRoundRobinLoadBalancer.WeightedRoundRobinPicker
    extends io.grpc.LoadBalancer.SubchannelPicker
    • Field Detail

      • children

        private final java.util.List<io.grpc.util.MultiChildLoadBalancer.ChildLbState> children
      • pickers

        private final java.util.List<io.grpc.LoadBalancer.SubchannelPicker> pickers
      • enableOobLoadReport

        private final boolean enableOobLoadReport
      • errorUtilizationPenalty

        private final float errorUtilizationPenalty
      • sequence

        private final java.util.concurrent.atomic.AtomicInteger sequence
      • hashCode

        private final int hashCode
    • Constructor Detail

      • WeightedRoundRobinPicker

        WeightedRoundRobinPicker​(java.util.List<io.grpc.util.MultiChildLoadBalancer.ChildLbState> children,
                                 boolean enableOobLoadReport,
                                 float errorUtilizationPenalty,
                                 java.util.concurrent.atomic.AtomicInteger sequence)
    • Method Detail

      • pickSubchannel

        public io.grpc.LoadBalancer.PickResult pickSubchannel​(io.grpc.LoadBalancer.PickSubchannelArgs args)
        Specified by:
        pickSubchannel in class io.grpc.LoadBalancer.SubchannelPicker
      • updateWeight

        private boolean updateWeight​(float[] newWeights)
        Returns true if weights are different than round_robin.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getChildren

        java.util.List<io.grpc.util.MultiChildLoadBalancer.ChildLbState> getChildren()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object