@UnstableApi public final class CompositeNameResolver<T> extends SimpleNameResolver<T>
SimpleNameResolver
that resolves a host name against a sequence of NameResolver
s.
In case of a failure, only the last one will be reported.Modifier and Type | Field and Description |
---|---|
private NameResolver<T>[] |
resolvers |
Constructor and Description |
---|
CompositeNameResolver(EventExecutor executor,
NameResolver<T>... resolvers) |
Modifier and Type | Method and Description |
---|---|
protected void |
doResolve(java.lang.String inetHost,
Promise<T> promise)
Invoked by
SimpleNameResolver.resolve(String) to perform the actual name resolution. |
protected void |
doResolveAll(java.lang.String inetHost,
Promise<java.util.List<T>> promise)
Invoked by
SimpleNameResolver.resolveAll(String) to perform the actual name resolution. |
private void |
doResolveAllRec(java.lang.String inetHost,
Promise<java.util.List<T>> promise,
int resolverIndex,
java.lang.Throwable lastFailure) |
private void |
doResolveRec(java.lang.String inetHost,
Promise<T> promise,
int resolverIndex,
java.lang.Throwable lastFailure) |
close, executor, resolve, resolve, resolveAll, resolveAll
private final NameResolver<T>[] resolvers
public CompositeNameResolver(EventExecutor executor, NameResolver<T>... resolvers)
executor
- the EventExecutor
which is used to notify the listeners of the Future
returned
by SimpleNameResolver.resolve(String)
resolvers
- the NameResolver
s to be tried sequentiallyprotected void doResolve(java.lang.String inetHost, Promise<T> promise) throws java.lang.Exception
SimpleNameResolver
SimpleNameResolver.resolve(String)
to perform the actual name resolution.doResolve
in class SimpleNameResolver<T>
java.lang.Exception
private void doResolveRec(java.lang.String inetHost, Promise<T> promise, int resolverIndex, java.lang.Throwable lastFailure) throws java.lang.Exception
java.lang.Exception
protected void doResolveAll(java.lang.String inetHost, Promise<java.util.List<T>> promise) throws java.lang.Exception
SimpleNameResolver
SimpleNameResolver.resolveAll(String)
to perform the actual name resolution.doResolveAll
in class SimpleNameResolver<T>
java.lang.Exception