Top Description Fields Constructors Methods
io.netty.resolver

public Class RoundRobinInetAddressResolver

extends InetNameResolver
Class Inheritance
Imports
io.netty.util.concurrent.EventExecutor, .Future, .FutureListener, .Promise, io.netty.util.internal.PlatformDependent, java.net.InetAddress, .InetSocketAddress, .UnknownHostException, java.util.ArrayList, .Collections, .List

A NameResolver that resolves InetAddress and force Round Robin by choosing a single address randomly in resolve(String) and resolve(String, Promise) if multiple are returned by the NameResolver. Use asAddressResolver() to create a InetSocketAddress resolver

Field Summary

Modifier and TypeField and Description
private final NameResolver<InetAddress>

Constructor Summary

AccessConstructor and Description
public
RoundRobinInetAddressResolver(EventExecutor
the EventExecutor which is used to notify the listeners of the Future returned by resolve(String)
executor
,
NameResolver<InetAddress>
the NameResolver used for name resolution
nameResolver
)

Method Summary

Modifier and TypeMethod and Description
public void
close()

Overrides io.netty.resolver.SimpleNameResolver.close.

Implements io.netty.resolver.NameResolver.close.

Closes all the resources allocated and used by this resolver.
protected void
doResolve(final String inetHost, final Promise<InetAddress> promise)

Implements abstract io.netty.resolver.SimpleNameResolver.doResolve.

Invoked by resolve(String) to perform the actual name resolution.
protected void
doResolveAll(String inetHost, final Promise<List<InetAddress>> promise)

Implements abstract io.netty.resolver.SimpleNameResolver.doResolveAll.

Invoked by resolveAll(String) to perform the actual name resolution.
private static int
randomIndex(int numAddresses)

Inherited from io.netty.resolver.InetNameResolver:
asAddressResolver

Field Detail

nameResolverback to summary
private final NameResolver<InetAddress> nameResolver

Constructor Detail

RoundRobinInetAddressResolverback to summary
public RoundRobinInetAddressResolver(EventExecutor executor, NameResolver<InetAddress> nameResolver)
Parameters
executor:EventExecutor

the EventExecutor which is used to notify the listeners of the Future returned by resolve(String)

nameResolver:NameResolver<InetAddress>

the NameResolver used for name resolution

Method Detail

closeback to summary
public void close()

Overrides io.netty.resolver.SimpleNameResolver.close.

Implements io.netty.resolver.NameResolver.close.

Doc from io.netty.resolver.NameResolver.close.

Closes all the resources allocated and used by this resolver.

Annotations
@Override
doResolveback to summary
protected void doResolve(final String inetHost, final Promise<InetAddress> promise) throws Exception

Implements abstract io.netty.resolver.SimpleNameResolver.doResolve.

Doc from io.netty.resolver.SimpleNameResolver.doResolve.

Invoked by resolve(String) to perform the actual name resolution.

Annotations
@Override
doResolveAllback to summary
protected void doResolveAll(String inetHost, final Promise<List<InetAddress>> promise) throws Exception

Implements abstract io.netty.resolver.SimpleNameResolver.doResolveAll.

Doc from io.netty.resolver.SimpleNameResolver.doResolveAll.

Invoked by resolveAll(String) to perform the actual name resolution.

Annotations
@Override
randomIndexback to summary
private static int randomIndex(int numAddresses)