Package io.grpc.grpclb
Class GrpclbNameResolver
- java.lang.Object
-
- io.grpc.NameResolver
-
- io.grpc.internal.DnsNameResolver
-
- io.grpc.grpclb.GrpclbNameResolver
-
final class GrpclbNameResolver extends DnsNameResolver
A DNS-basedNameResolver
with gRPC LB specific add-ons for resolving balancer addresses via service records.- See Also:
SecretGrpclbNameResolverProvider
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.grpc.internal.DnsNameResolver
DnsNameResolver.AddressResolver, DnsNameResolver.InternalResolutionResult, DnsNameResolver.ResourceResolver, DnsNameResolver.SrvRecord
-
Nested classes/interfaces inherited from class io.grpc.NameResolver
NameResolver.Args, NameResolver.ConfigOrError, NameResolver.Factory, NameResolver.Listener, NameResolver.Listener2, NameResolver.ResolutionResult, NameResolver.ResolutionResultAttr, NameResolver.ServiceConfigParser
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
GRPCLB_NAME_PREFIX
private static java.util.logging.Logger
logger
-
Fields inherited from class io.grpc.internal.DnsNameResolver
addressResolver, enableTxt, resolved
-
-
Constructor Summary
Constructors Constructor Description GrpclbNameResolver(java.lang.String nsAuthority, java.lang.String name, NameResolver.Args args, SharedResourceHolder.Resource<java.util.concurrent.Executor> executorResource, com.google.common.base.Stopwatch stopwatch, boolean isAndroid)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DnsNameResolver.InternalResolutionResult
doResolve(boolean forceTxt)
Main logic of name resolution.protected java.lang.String
getHost()
private java.util.List<EquivalentAddressGroup>
resolveBalancerAddresses()
protected void
setAddressResolver(DnsNameResolver.AddressResolver addressResolver)
(package private) static void
setEnableTxt(boolean enableTxt)
protected void
setResourceResolver(DnsNameResolver.ResourceResolver resourceResolver)
-
Methods inherited from class io.grpc.internal.DnsNameResolver
getResourceResolver, getServiceAuthority, refresh, shouldUseJndi, shutdown, start
-
Methods inherited from class io.grpc.NameResolver
start
-
-
-
-
Field Detail
-
logger
private static final java.util.logging.Logger logger
-
GRPCLB_NAME_PREFIX
private static final java.lang.String GRPCLB_NAME_PREFIX
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GrpclbNameResolver
GrpclbNameResolver(@Nullable java.lang.String nsAuthority, java.lang.String name, NameResolver.Args args, SharedResourceHolder.Resource<java.util.concurrent.Executor> executorResource, com.google.common.base.Stopwatch stopwatch, boolean isAndroid)
-
-
Method Detail
-
doResolve
protected DnsNameResolver.InternalResolutionResult doResolve(boolean forceTxt)
Description copied from class:DnsNameResolver
Main logic of name resolution.- Overrides:
doResolve
in classDnsNameResolver
-
resolveBalancerAddresses
private java.util.List<EquivalentAddressGroup> resolveBalancerAddresses()
-
setAddressResolver
protected void setAddressResolver(DnsNameResolver.AddressResolver addressResolver)
- Overrides:
setAddressResolver
in classDnsNameResolver
-
setResourceResolver
protected void setResourceResolver(DnsNameResolver.ResourceResolver resourceResolver)
- Overrides:
setResourceResolver
in classDnsNameResolver
-
getHost
protected java.lang.String getHost()
- Overrides:
getHost
in classDnsNameResolver
-
setEnableTxt
static void setEnableTxt(boolean enableTxt)
-
-