Package io.grpc.util
Class MultiChildLoadBalancer.ChildLbState
- java.lang.Object
-
- io.grpc.util.MultiChildLoadBalancer.ChildLbState
-
- Enclosing class:
- MultiChildLoadBalancer
public class MultiChildLoadBalancer.ChildLbState extends java.lang.Object
This represents the state of load balancer children. Each endpoint (represented by an EquivalentAddressGroup or EDS string) will have a separate ChildLbState which in turn will have a single child LoadBalancer created from the provided factory.A ChildLbStateHelper is the glue between ChildLbState and the helpers associated with the petiole policy above and the PickFirstLoadBalancer's helper below.
If you wish to store additional state information related to each subchannel, then extend this class.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
MultiChildLoadBalancer.ChildLbState.ChildLbStateHelper
ChildLbStateHelper is the glue between ChildLbState and the helpers associated with the petiole policy above and the PickFirstLoadBalancer's helper below.
-
Field Summary
Fields Modifier and Type Field Description private LoadBalancer.SubchannelPicker
currentPicker
private ConnectivityState
currentState
private java.lang.Object
key
private LoadBalancer
lb
private LoadBalancer.ResolvedAddresses
resolvedAddresses
-
Constructor Summary
Constructors Constructor Description ChildLbState(java.lang.Object key, LoadBalancer.Factory policyFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected MultiChildLoadBalancer.ChildLbState.ChildLbStateHelper
createChildHelper()
LoadBalancer.SubchannelPicker
getCurrentPicker()
ConnectivityState
getCurrentState()
EquivalentAddressGroup
getEag()
java.lang.Object
getKey()
LoadBalancer
getLb()
LoadBalancer.ResolvedAddresses
getResolvedAddresses()
protected void
setCurrentPicker(LoadBalancer.SubchannelPicker newPicker)
protected void
setCurrentState(ConnectivityState newState)
protected void
setResolvedAddresses(LoadBalancer.ResolvedAddresses newAddresses)
protected void
shutdown()
Override for unique behavior such as delayed shutdowns of subchannels.java.lang.String
toString()
-
-
-
Field Detail
-
key
private final java.lang.Object key
-
resolvedAddresses
private LoadBalancer.ResolvedAddresses resolvedAddresses
-
lb
private final LoadBalancer lb
-
currentState
private ConnectivityState currentState
-
currentPicker
private LoadBalancer.SubchannelPicker currentPicker
-
-
Constructor Detail
-
ChildLbState
public ChildLbState(java.lang.Object key, LoadBalancer.Factory policyFactory)
-
-
Method Detail
-
createChildHelper
protected MultiChildLoadBalancer.ChildLbState.ChildLbStateHelper createChildHelper()
-
shutdown
protected void shutdown()
Override for unique behavior such as delayed shutdowns of subchannels.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getKey
public final java.lang.Object getKey()
-
getLb
public final LoadBalancer getLb()
-
getCurrentPicker
public final LoadBalancer.SubchannelPicker getCurrentPicker()
-
getCurrentState
public final ConnectivityState getCurrentState()
-
setCurrentState
protected final void setCurrentState(ConnectivityState newState)
-
setCurrentPicker
protected final void setCurrentPicker(LoadBalancer.SubchannelPicker newPicker)
-
getEag
public final EquivalentAddressGroup getEag()
-
setResolvedAddresses
protected final void setResolvedAddresses(LoadBalancer.ResolvedAddresses newAddresses)
-
getResolvedAddresses
public final LoadBalancer.ResolvedAddresses getResolvedAddresses()
-
-