Package io.netty.resolver
Class AddressResolverGroup<T extends SocketAddress>
java.lang.Object
io.netty.resolver.AddressResolverGroup<T>
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
DefaultAddressResolverGroup
,DnsAddressResolverGroup
,NoopAddressResolverGroup
public abstract class AddressResolverGroup<T extends SocketAddress>
extends Object
implements Closeable
Creates and manages
NameResolver
s so that each EventExecutor
has its own resolver instance.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map
<EventExecutor, GenericFutureListener<Future<Object>>> private static final InternalLogger
private final Map
<EventExecutor, AddressResolver<T>> Note that we do not use aConcurrentMap
here because it is usually expensive to instantiate a resolver. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes allNameResolver
s created by this group.getResolver
(EventExecutor executor) Returns theAddressResolver
associated with the specifiedEventExecutor
.protected abstract AddressResolver
<T> newResolver
(EventExecutor executor) Invoked bygetResolver(EventExecutor)
to create a newAddressResolver
.
-
Field Details
-
logger
-
resolvers
Note that we do not use aConcurrentMap
here because it is usually expensive to instantiate a resolver. -
executorTerminationListeners
-
-
Constructor Details
-
AddressResolverGroup
protected AddressResolverGroup()
-
-
Method Details
-
getResolver
Returns theAddressResolver
associated with the specifiedEventExecutor
. If there's no associated resolver found, this method creates and returns a new resolver instance created bynewResolver(EventExecutor)
so that the new resolver is reused on another#getResolver(EventExecutor)
call with the sameEventExecutor
. -
newResolver
Invoked bygetResolver(EventExecutor)
to create a newAddressResolver
.- Throws:
Exception
-
close
public void close()Closes allNameResolver
s created by this group.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-