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.ObjectThis 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 classMultiChildLoadBalancer.ChildLbState.ChildLbStateHelperChildLbStateHelper 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.SubchannelPickercurrentPickerprivate ConnectivityStatecurrentStateprivate java.lang.Objectkeyprivate LoadBalancerlbprivate LoadBalancer.ResolvedAddressesresolvedAddresses
-
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.ChildLbStateHelpercreateChildHelper()LoadBalancer.SubchannelPickergetCurrentPicker()ConnectivityStategetCurrentState()EquivalentAddressGroupgetEag()java.lang.ObjectgetKey()LoadBalancergetLb()LoadBalancer.ResolvedAddressesgetResolvedAddresses()protected voidsetCurrentPicker(LoadBalancer.SubchannelPicker newPicker)protected voidsetCurrentState(ConnectivityState newState)protected voidsetResolvedAddresses(LoadBalancer.ResolvedAddresses newAddresses)protected voidshutdown()Override for unique behavior such as delayed shutdowns of subchannels.java.lang.StringtoString()
-
-
-
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:
toStringin 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()
-
-