Class RoundRobinInetAddressResolver
java.lang.Object
io.netty.resolver.SimpleNameResolver<java.net.InetAddress>
io.netty.resolver.InetNameResolver
io.netty.resolver.RoundRobinInetAddressResolver
- All Implemented Interfaces:
NameResolver<java.net.InetAddress>, java.io.Closeable, java.lang.AutoCloseable
A
NameResolver that resolves InetAddress and force Round Robin by choosing a single address
randomly in SimpleNameResolver.resolve(String) and SimpleNameResolver.resolve(String, Promise)
if multiple are returned by the NameResolver.
Use InetNameResolver.asAddressResolver() to create a InetSocketAddress resolver-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRoundRobinInetAddressResolver(EventExecutor executor, NameResolver<java.net.InetAddress> nameResolver) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes all the resources allocated and used by this resolver.protected voidInvoked bySimpleNameResolver.resolve(String)to perform the actual name resolution.protected voiddoResolveAll(java.lang.String inetHost, Promise<java.util.List<java.net.InetAddress>> promise) Invoked bySimpleNameResolver.resolveAll(String)to perform the actual name resolution.private static intrandomIndex(int numAddresses) Methods inherited from class InetNameResolver
asAddressResolverMethods inherited from class SimpleNameResolver
executor, resolve, resolve, resolveAll, resolveAllMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
nameResolver
-
-
Constructor Details
-
RoundRobinInetAddressResolver
public RoundRobinInetAddressResolver(EventExecutor executor, NameResolver<java.net.InetAddress> nameResolver) - Parameters:
executor- theEventExecutorwhich is used to notify the listeners of theFuturereturned bySimpleNameResolver.resolve(String)nameResolver- theNameResolverused for name resolution
-
-
Method Details
-
doResolve
protected void doResolve(java.lang.String inetHost, Promise<java.net.InetAddress> promise) throws java.lang.Exception Description copied from class:SimpleNameResolverInvoked bySimpleNameResolver.resolve(String)to perform the actual name resolution.- Specified by:
doResolvein classSimpleNameResolver<java.net.InetAddress>- Throws:
java.lang.Exception
-
doResolveAll
protected void doResolveAll(java.lang.String inetHost, Promise<java.util.List<java.net.InetAddress>> promise) throws java.lang.Exception Description copied from class:SimpleNameResolverInvoked bySimpleNameResolver.resolveAll(String)to perform the actual name resolution.- Specified by:
doResolveAllin classSimpleNameResolver<java.net.InetAddress>- Throws:
java.lang.Exception
-
randomIndex
private static int randomIndex(int numAddresses) -
close
public void close()Description copied from interface:NameResolverCloses all the resources allocated and used by this resolver.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceNameResolver<java.net.InetAddress>- Overrides:
closein classSimpleNameResolver<java.net.InetAddress>
-