Class DefaultHostsFileEntriesResolver
java.lang.Object
io.netty.resolver.DefaultHostsFileEntriesResolver
- All Implemented Interfaces:
HostsFileEntriesResolver
public final class DefaultHostsFileEntriesResolver
extends java.lang.Object
implements HostsFileEntriesResolver
Default
HostsFileEntriesResolver that resolves hosts file entries only once.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final longprivate final HostsFileEntriesProvider.Parserprivate java.util.Map<java.lang.String, java.util.List<java.net.InetAddress>> private java.util.Map<java.lang.String, java.util.List<java.net.InetAddress>> private final java.util.concurrent.atomic.AtomicLongprivate static final InternalLoggerprivate final longFields inherited from interface HostsFileEntriesResolver
DEFAULT -
Constructor Summary
ConstructorsConstructorDescriptionDefaultHostsFileEntriesResolver(HostsFileEntriesProvider.Parser hostsFileParser, long refreshInterval) -
Method Summary
Modifier and TypeMethodDescriptionjava.net.InetAddressaddress(java.lang.String inetHost, ResolvedAddressTypes resolvedAddressTypes) Resolve the address of a hostname against the entries in a hosts file, depending on some address types.java.util.List<java.net.InetAddress> addresses(java.lang.String inetHost, ResolvedAddressTypes resolvedAddressTypes) Resolves all addresses of a hostname against the entries in a hosts file, depending on the specifiedResolvedAddressTypes.private static java.util.List<java.net.InetAddress> allAddresses(java.util.List<java.net.InetAddress> a, java.util.List<java.net.InetAddress> b) private voidprivate static java.net.InetAddressfirstAddress(java.util.List<java.net.InetAddress> addresses) (package private) java.lang.Stringnormalize(java.lang.String inetHost) private static HostsFileEntriesProviderMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
logger
-
DEFAULT_REFRESH_INTERVAL
private static final long DEFAULT_REFRESH_INTERVAL -
refreshInterval
private final long refreshInterval -
lastRefresh
private final java.util.concurrent.atomic.AtomicLong lastRefresh -
hostsFileParser
-
inet4Entries
private volatile java.util.Map<java.lang.String, java.util.List<java.net.InetAddress>> inet4Entries -
inet6Entries
private volatile java.util.Map<java.lang.String, java.util.List<java.net.InetAddress>> inet6Entries
-
-
Constructor Details
-
DefaultHostsFileEntriesResolver
public DefaultHostsFileEntriesResolver() -
DefaultHostsFileEntriesResolver
DefaultHostsFileEntriesResolver(HostsFileEntriesProvider.Parser hostsFileParser, long refreshInterval)
-
-
Method Details
-
address
public java.net.InetAddress address(java.lang.String inetHost, ResolvedAddressTypes resolvedAddressTypes) Description copied from interface:HostsFileEntriesResolverResolve the address of a hostname against the entries in a hosts file, depending on some address types.- Specified by:
addressin interfaceHostsFileEntriesResolver- Parameters:
inetHost- the hostname to resolveresolvedAddressTypes- the address types to resolve- Returns:
- the first matching address
-
addresses
public java.util.List<java.net.InetAddress> addresses(java.lang.String inetHost, ResolvedAddressTypes resolvedAddressTypes) Resolves all addresses of a hostname against the entries in a hosts file, depending on the specifiedResolvedAddressTypes.- Parameters:
inetHost- the hostname to resolveresolvedAddressTypes- the address types to resolve- Returns:
- all matching addresses or
nullin case the hostname cannot be resolved
-
ensureHostsFileEntriesAreFresh
private void ensureHostsFileEntriesAreFresh() -
normalize
java.lang.String normalize(java.lang.String inetHost) -
allAddresses
private static java.util.List<java.net.InetAddress> allAddresses(java.util.List<java.net.InetAddress> a, java.util.List<java.net.InetAddress> b) -
firstAddress
private static java.net.InetAddress firstAddress(java.util.List<java.net.InetAddress> addresses) -
parseEntries
-