- java.lang.Object
-
- io.netty5.resolver.dns.DefaultDnsCache
-
-
Constructor Summary
Constructors Constructor Description DefaultDnsCache()
Create a cache that respects the TTL returned by the DNS server and doesn't cache negative responses.DefaultDnsCache(int minTtl, int maxTtl, int negativeTtl)
Create a cache.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DnsCacheEntry
cache(String hostname, DnsRecord[] additionals, Throwable cause, EventLoop loop)
Cache the resolution failure for a given hostname.DnsCacheEntry
cache(String hostname, DnsRecord[] additionals, InetAddress address, long originalTtl, EventLoop loop)
Create a newDnsCacheEntry
and cache a resolved address for a given hostname.void
clear()
Clears all the resolved addresses cached by this resolver.boolean
clear(String hostname)
Clears the resolved addresses of the specified host name from the cache of this resolver.List<? extends DnsCacheEntry>
get(String hostname, DnsRecord[] additionals)
Return the cached entries for the given hostname.int
maxTtl()
Returns the maximum TTL of the cached DNS resource records (in seconds).int
minTtl()
Returns the minimum TTL of the cached DNS resource records (in seconds).int
negativeTtl()
Returns the TTL of the cache for the failed DNS queries (in seconds).String
toString()
-
-
-
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 TTLmaxTtl
- the maximum TTLnegativeTtl
- 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 is0
, which disables the cache for negative results.
-
clear
public void clear()
Description copied from interface:DnsCache
Clears all the resolved addresses cached by this resolver.- Specified by:
clear
in interfaceDnsCache
- See Also:
DnsCache.clear(String)
-
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.
-
get
public List<? extends DnsCacheEntry> get(String hostname, DnsRecord[] additionals)
Description copied from interface:DnsCache
Return the cached entries for the given hostname.
-
cache
public DnsCacheEntry cache(String hostname, DnsRecord[] additionals, InetAddress address, long originalTtl, EventLoop loop)
Description copied from interface:DnsCache
Create a newDnsCacheEntry
and cache a resolved address for a given hostname.- Specified by:
cache
in interfaceDnsCache
- Parameters:
hostname
- the hostnameadditionals
- the additional recordsaddress
- the resolved addressoriginalTtl
- the TLL as returned by the DNS serverloop
- theEventLoop
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 interfaceDnsCache
- Parameters:
hostname
- the hostnameadditionals
- the additional recordscause
- the resolution failureloop
- theEventLoop
used to register the TTL timeout- Returns:
- The
DnsCacheEntry
corresponding to this cache entry, ornull
if this cache doesn't support caching failed responses.
-
-