@UnstableApi public abstract class AbstractAddressResolver<T extends java.net.SocketAddress> extends java.lang.Object implements AddressResolver<T>
AddressResolver
implementation.Modifier and Type | Field and Description |
---|---|
private EventExecutor |
executor |
private TypeParameterMatcher |
matcher |
Modifier | Constructor and Description |
---|---|
protected |
AbstractAddressResolver(EventExecutor executor) |
protected |
AbstractAddressResolver(EventExecutor executor,
java.lang.Class<? extends T> addressType) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes all the resources allocated and used by this resolver.
|
protected abstract boolean |
doIsResolved(T address)
Invoked by
isResolved(SocketAddress) to check if the specified address has been resolved
already. |
protected abstract void |
doResolve(T unresolvedAddress,
Promise<T> promise)
Invoked by
resolve(SocketAddress) to perform the actual name
resolution. |
protected abstract void |
doResolveAll(T unresolvedAddress,
Promise<java.util.List<T>> promise)
Invoked by
resolveAll(SocketAddress) to perform the actual name
resolution. |
protected EventExecutor |
executor()
Returns the
EventExecutor which is used to notify the listeners of the Future returned
by resolve(SocketAddress) . |
boolean |
isResolved(java.net.SocketAddress address)
Returns
true if and only if the specified address has been resolved. |
boolean |
isSupported(java.net.SocketAddress address)
Returns
true if and only if the specified address is supported by this resolved. |
Future<T> |
resolve(java.net.SocketAddress address)
Resolves the specified address.
|
Future<T> |
resolve(java.net.SocketAddress address,
Promise<T> promise)
Resolves the specified address.
|
Future<java.util.List<T>> |
resolveAll(java.net.SocketAddress address)
Resolves the specified address.
|
Future<java.util.List<T>> |
resolveAll(java.net.SocketAddress address,
Promise<java.util.List<T>> promise)
Resolves the specified address.
|
private final EventExecutor executor
private final TypeParameterMatcher matcher
protected AbstractAddressResolver(EventExecutor executor)
executor
- the EventExecutor
which is used to notify the listeners of the Future
returned
by resolve(SocketAddress)
protected AbstractAddressResolver(EventExecutor executor, java.lang.Class<? extends T> addressType)
executor
- the EventExecutor
which is used to notify the listeners of the Future
returned
by resolve(SocketAddress)
addressType
- the type of the SocketAddress
supported by this resolverprotected EventExecutor executor()
EventExecutor
which is used to notify the listeners of the Future
returned
by resolve(SocketAddress)
.public boolean isSupported(java.net.SocketAddress address)
AddressResolver
true
if and only if the specified address is supported by this resolved.isSupported
in interface AddressResolver<T extends java.net.SocketAddress>
public final boolean isResolved(java.net.SocketAddress address)
AddressResolver
true
if and only if the specified address has been resolved.isResolved
in interface AddressResolver<T extends java.net.SocketAddress>
protected abstract boolean doIsResolved(T address)
isResolved(SocketAddress)
to check if the specified address
has been resolved
already.public final Future<T> resolve(java.net.SocketAddress address)
AddressResolver
resolve
in interface AddressResolver<T extends java.net.SocketAddress>
address
- the address to resolveSocketAddress
as the result of the resolutionpublic final Future<T> resolve(java.net.SocketAddress address, Promise<T> promise)
AddressResolver
resolve
in interface AddressResolver<T extends java.net.SocketAddress>
address
- the address to resolvepromise
- the Promise
which will be fulfilled when the name resolution is finishedSocketAddress
as the result of the resolutionpublic final Future<java.util.List<T>> resolveAll(java.net.SocketAddress address)
AddressResolver
resolveAll
in interface AddressResolver<T extends java.net.SocketAddress>
address
- the address to resolveSocketAddress
es as the result of the resolutionpublic final Future<java.util.List<T>> resolveAll(java.net.SocketAddress address, Promise<java.util.List<T>> promise)
AddressResolver
resolveAll
in interface AddressResolver<T extends java.net.SocketAddress>
address
- the address to resolvepromise
- the Promise
which will be fulfilled when the name resolution is finishedSocketAddress
es as the result of the resolutionprotected abstract void doResolve(T unresolvedAddress, Promise<T> promise) throws java.lang.Exception
resolve(SocketAddress)
to perform the actual name
resolution.java.lang.Exception
protected abstract void doResolveAll(T unresolvedAddress, Promise<java.util.List<T>> promise) throws java.lang.Exception
resolveAll(SocketAddress)
to perform the actual name
resolution.java.lang.Exception
public void close()
AddressResolver
close
in interface AddressResolver<T extends java.net.SocketAddress>
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable