Module io.netty5.resolver.dns
Package io.netty5.resolver.dns
Class DefaultAuthoritativeDnsServerCache
- java.lang.Object
-
- io.netty5.resolver.dns.DefaultAuthoritativeDnsServerCache
-
- All Implemented Interfaces:
AuthoritativeDnsServerCache
public class DefaultAuthoritativeDnsServerCache extends Object implements AuthoritativeDnsServerCache
Default implementation ofAuthoritativeDnsServerCache, backed by aConcurrentMap.
-
-
Constructor Summary
Constructors Constructor Description DefaultAuthoritativeDnsServerCache()Create a cache that respects the TTL returned by the DNS server.DefaultAuthoritativeDnsServerCache(int minTtl, int maxTtl, Comparator<InetSocketAddress> comparator)Create a cache.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcache(String hostname, InetSocketAddress address, long originalTtl, EventLoop loop)Caches a nameserver that should be used to resolve the given hostname.voidclear()Clears all cached nameservers.booleanclear(String hostname)Clears the cached nameservers for the specified hostname.DnsServerAddressStreamget(String hostname)Returns the cached nameservers that should be used to resolve the given hostname.StringtoString()
-
-
-
Constructor Detail
-
DefaultAuthoritativeDnsServerCache
public DefaultAuthoritativeDnsServerCache()
Create a cache that respects the TTL returned by the DNS server.
-
DefaultAuthoritativeDnsServerCache
public DefaultAuthoritativeDnsServerCache(int minTtl, int maxTtl, Comparator<InetSocketAddress> comparator)Create a cache.- Parameters:
minTtl- the minimum TTLmaxTtl- the maximum TTLcomparator- theComparatorto order theInetSocketAddressfor a hostname ornullif insertion order should be used.
-
-
Method Detail
-
get
public DnsServerAddressStream get(String hostname)
Description copied from interface:AuthoritativeDnsServerCacheReturns the cached nameservers that should be used to resolve the given hostname. The returnedDnsServerAddressStreammay contain unresolvedInetSocketAddresses that will be resolved when needed while resolving other domain names.- Specified by:
getin interfaceAuthoritativeDnsServerCache- Parameters:
hostname- the hostname- Returns:
- the cached entries or an
nullif none.
-
cache
public void cache(String hostname, InetSocketAddress address, long originalTtl, EventLoop loop)
Description copied from interface:AuthoritativeDnsServerCacheCaches a nameserver that should be used to resolve the given hostname.- Specified by:
cachein interfaceAuthoritativeDnsServerCache- Parameters:
hostname- the hostnameaddress- the nameserver address (which may be unresolved).originalTtl- the TTL as returned by the DNS serverloop- theEventLoopused to register the TTL timeout
-
clear
public void clear()
Description copied from interface:AuthoritativeDnsServerCacheClears all cached nameservers.- Specified by:
clearin interfaceAuthoritativeDnsServerCache- See Also:
AuthoritativeDnsServerCache.clear(String)
-
clear
public boolean clear(String hostname)
Description copied from interface:AuthoritativeDnsServerCacheClears the cached nameservers for the specified hostname.- Specified by:
clearin interfaceAuthoritativeDnsServerCache- Returns:
trueif and only if there was an entry for the specified host name in the cache and it has been removed by this method
-
-