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 Details

    • 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 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: HostsFileEntriesResolver
      Resolve the address of a hostname against the entries in a hosts file, depending on some address types.
      Specified by:
      address in interface HostsFileEntriesResolver
      Parameters:
      inetHost - the hostname to resolve
      resolvedAddressTypes - 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 specified ResolvedAddressTypes.
      Parameters:
      inetHost - the hostname to resolve
      resolvedAddressTypes - 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)