Package io.netty.resolver
Class RoundRobinInetAddressResolver
java.lang.Object
io.netty.resolver.SimpleNameResolver<InetAddress>
io.netty.resolver.InetNameResolver
io.netty.resolver.RoundRobinInetAddressResolver
- All Implemented Interfaces:
NameResolver<InetAddress>
,Closeable
,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<InetAddress> nameResolver) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes all the resources allocated and used by this resolver.protected void
doResolve
(String inetHost, Promise<InetAddress> promise) Invoked bySimpleNameResolver.resolve(String)
to perform the actual name resolution.protected void
doResolveAll
(String inetHost, Promise<List<InetAddress>> promise) Invoked bySimpleNameResolver.resolveAll(String)
to perform the actual name resolution.private static int
randomIndex
(int numAddresses) Methods inherited from class io.netty.resolver.InetNameResolver
asAddressResolver
Methods inherited from class io.netty.resolver.SimpleNameResolver
executor, resolve, resolve, resolveAll, resolveAll
-
Field Details
-
nameResolver
-
-
Constructor Details
-
RoundRobinInetAddressResolver
public RoundRobinInetAddressResolver(EventExecutor executor, NameResolver<InetAddress> nameResolver) - Parameters:
executor
- theEventExecutor
which is used to notify the listeners of theFuture
returned bySimpleNameResolver.resolve(String)
nameResolver
- theNameResolver
used for name resolution
-
-
Method Details
-
doResolve
Description copied from class:SimpleNameResolver
Invoked bySimpleNameResolver.resolve(String)
to perform the actual name resolution.- Specified by:
doResolve
in classSimpleNameResolver<InetAddress>
- Throws:
Exception
-
doResolveAll
Description copied from class:SimpleNameResolver
Invoked bySimpleNameResolver.resolveAll(String)
to perform the actual name resolution.- Specified by:
doResolveAll
in classSimpleNameResolver<InetAddress>
- Throws:
Exception
-
randomIndex
private static int randomIndex(int numAddresses) -
close
public void close()Description copied from interface:NameResolver
Closes all the resources allocated and used by this resolver.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceNameResolver<InetAddress>
- Overrides:
close
in classSimpleNameResolver<InetAddress>
-