Package io.netty.resolver.dns
Class Cache<E>
- java.lang.Object
-
- io.netty.resolver.dns.Cache<E>
-
- Type Parameters:
E-
abstract class Cache<E> extends java.lang.ObjectAbstract cache that automatically removes entries for a hostname once the TTL for an entry is reached.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classCache.Entries
-
Field Summary
Fields Modifier and Type Field Description private static java.util.concurrent.ScheduledFuture<?>CANCELLEDprivate static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<Cache.Entries,java.util.concurrent.ScheduledFuture>FUTURE_UPDATER(package private) static intMAX_SUPPORTED_TTL_SECSprivate java.util.concurrent.ConcurrentMap<java.lang.String,Cache.Entries>resolveCache
-
Constructor Summary
Constructors Constructor Description Cache()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) voidcache(java.lang.String hostname, E value, int ttl, EventLoop loop)Cache a value for the given hostname that will automatically expire once the TTL is reached.(package private) voidclear()Remove everything from the cache.(package private) booleanclear(java.lang.String hostname)Clear all entries (if anything exists) for the given hostname and returntrueif anything was removed.protected abstract booleanequals(E entry, E otherEntry)Returnstrueif both entries are equal.(package private) java.util.List<? extends E>get(java.lang.String hostname)Returns all caches entries for the given hostname.protected abstract booleanshouldReplaceAll(E entry)Returnstrueif this entry should replace all other entries that are already cached for the hostname.(package private) intsize()Return the number of hostames for which we have cached something.protected voidsortEntries(java.lang.String hostname, java.util.List<E> entries)Sort theListfor ahostnamebefore caching these.
-
-
-
Field Detail
-
FUTURE_UPDATER
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<Cache.Entries,java.util.concurrent.ScheduledFuture> FUTURE_UPDATER
-
CANCELLED
private static final java.util.concurrent.ScheduledFuture<?> CANCELLED
-
MAX_SUPPORTED_TTL_SECS
static final int MAX_SUPPORTED_TTL_SECS
-
resolveCache
private final java.util.concurrent.ConcurrentMap<java.lang.String,Cache.Entries> resolveCache
-
-
Method Detail
-
clear
final void clear()
Remove everything from the cache.
-
clear
final boolean clear(java.lang.String hostname)
Clear all entries (if anything exists) for the given hostname and returntrueif anything was removed.
-
get
final java.util.List<? extends E> get(java.lang.String hostname)
Returns all caches entries for the given hostname.
-
cache
final void cache(java.lang.String hostname, E value, int ttl, EventLoop loop)Cache a value for the given hostname that will automatically expire once the TTL is reached.
-
size
final int size()
Return the number of hostames for which we have cached something.
-
shouldReplaceAll
protected abstract boolean shouldReplaceAll(E entry)
Returnstrueif this entry should replace all other entries that are already cached for the hostname.
-
sortEntries
protected void sortEntries(java.lang.String hostname, java.util.List<E> entries)Sort theListfor ahostnamebefore caching these.
-
-