Class DefaultDnsCache

    • Constructor Detail

      • DefaultDnsCache

        public DefaultDnsCache()
        Create a cache that respects the TTL returned by the DNS server and doesn't cache negative responses.
      • DefaultDnsCache

        public DefaultDnsCache​(int minTtl,
                               int maxTtl,
                               int negativeTtl)
        Create a cache.
        Parameters:
        minTtl - the minimum TTL
        maxTtl - the maximum TTL
        negativeTtl - the TTL for failed queries
    • Method Detail

      • minTtl

        public int minTtl()
        Returns the minimum TTL of the cached DNS resource records (in seconds).
        See Also:
        maxTtl()
      • maxTtl

        public int maxTtl()
        Returns the maximum TTL of the cached DNS resource records (in seconds).
        See Also:
        minTtl()
      • negativeTtl

        public int negativeTtl()
        Returns the TTL of the cache for the failed DNS queries (in seconds). The default value is 0, which disables the cache for negative results.
      • clear

        public boolean clear​(String hostname)
        Description copied from interface: DnsCache
        Clears the resolved addresses of the specified host name from the cache of this resolver.
        Specified by:
        clear in interface DnsCache
        Returns:
        true if and only if there was an entry for the specified host name in the cache and it has been removed by this method
      • get

        public List<? extends DnsCacheEntry> get​(String hostname,
                                                 DnsRecord[] additionals)
        Description copied from interface: DnsCache
        Return the cached entries for the given hostname.
        Specified by:
        get in interface DnsCache
        Parameters:
        hostname - the hostname
        additionals - the additional records
        Returns:
        the cached entries
      • cache

        public DnsCacheEntry cache​(String hostname,
                                   DnsRecord[] additionals,
                                   InetAddress address,
                                   long originalTtl,
                                   EventLoop loop)
        Description copied from interface: DnsCache
        Create a new DnsCacheEntry and cache a resolved address for a given hostname.
        Specified by:
        cache in interface DnsCache
        Parameters:
        hostname - the hostname
        additionals - the additional records
        address - the resolved address
        originalTtl - the TLL as returned by the DNS server
        loop - the EventLoop used to register the TTL timeout
        Returns:
        The DnsCacheEntry corresponding to this cache entry.
      • cache

        public DnsCacheEntry cache​(String hostname,
                                   DnsRecord[] additionals,
                                   Throwable cause,
                                   EventLoop loop)
        Description copied from interface: DnsCache
        Cache the resolution failure for a given hostname. Be aware this won't be called with timeout / cancel / transport exceptions.
        Specified by:
        cache in interface DnsCache
        Parameters:
        hostname - the hostname
        additionals - the additional records
        cause - the resolution failure
        loop - the EventLoop used to register the TTL timeout
        Returns:
        The DnsCacheEntry corresponding to this cache entry, or null if this cache doesn't support caching failed responses.