Package io.netty.resolver
Class DefaultHostsFileEntriesResolver
- java.lang.Object
-
- io.netty.resolver.DefaultHostsFileEntriesResolver
-
- All Implemented Interfaces:
HostsFileEntriesResolver
public final class DefaultHostsFileEntriesResolver extends java.lang.Object implements HostsFileEntriesResolver
DefaultHostsFileEntriesResolver
that resolves hosts file entries only once.
-
-
Field Summary
Fields Modifier and Type Field Description private static long
DEFAULT_REFRESH_INTERVAL
private HostsFileEntriesProvider.Parser
hostsFileParser
private java.util.Map<java.lang.String,java.util.List<java.net.InetAddress>>
inet4Entries
private java.util.Map<java.lang.String,java.util.List<java.net.InetAddress>>
inet6Entries
private java.util.concurrent.atomic.AtomicLong
lastRefresh
private static InternalLogger
logger
private long
refreshInterval
-
Fields inherited from interface io.netty.resolver.HostsFileEntriesResolver
DEFAULT
-
-
Constructor Summary
Constructors Constructor Description DefaultHostsFileEntriesResolver()
DefaultHostsFileEntriesResolver(HostsFileEntriesProvider.Parser hostsFileParser, long refreshInterval)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.net.InetAddress
address(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 void
ensureHostsFileEntriesAreFresh()
private static java.net.InetAddress
firstAddress(java.util.List<java.net.InetAddress> addresses)
(package private) java.lang.String
normalize(java.lang.String inetHost)
private static HostsFileEntriesProvider
parseEntries(HostsFileEntriesProvider.Parser parser)
-
-
-
Field Detail
-
logger
private static final InternalLogger 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
private final HostsFileEntriesProvider.Parser 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 Detail
-
DefaultHostsFileEntriesResolver
public DefaultHostsFileEntriesResolver()
-
DefaultHostsFileEntriesResolver
DefaultHostsFileEntriesResolver(HostsFileEntriesProvider.Parser hostsFileParser, long refreshInterval)
-
-
Method Detail
-
address
public java.net.InetAddress address(java.lang.String inetHost, ResolvedAddressTypes resolvedAddressTypes)
Description copied from interface:HostsFileEntriesResolver
Resolve the address of a hostname against the entries in a hosts file, depending on some address types.- Specified by:
address
in 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
null
in 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
private static HostsFileEntriesProvider parseEntries(HostsFileEntriesProvider.Parser parser)
-
-