Class CaffeineCache<E>
- java.lang.Object
-
- org.opennms.netmgt.dnsresolver.netty.CaffeineCache<E>
-
public abstract class CaffeineCache<E> extends java.lang.Object
Underlying cache used to back theCaffeineDnsCache
. Uses the Caffeine caching library as opposed to Netty's io.netty.resolver.dns.Cache implementation so that we can: 1) Limit the cache's size (and intelligently evict entries) 2) Expose cache stats- Author:
- jwhite
-
-
Constructor Summary
Constructors Constructor Description CaffeineCache(long maxSize)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
cache(java.lang.String key, E entry, int ttl)
void
clear()
void
clear(java.lang.String key)
java.util.Collection<E>
get(java.lang.String key)
protected abstract boolean
shouldReplaceAll(E entry)
Returnstrue
if this entry should replace all other entries that are already cached for the hostname.long
size()
com.github.benmanes.caffeine.cache.stats.CacheStats
stats()
-
-
-
Method Detail
-
shouldReplaceAll
protected abstract boolean shouldReplaceAll(E entry)
Returnstrue
if this entry should replace all other entries that are already cached for the hostname.
-
clear
public void clear()
-
clear
public void clear(java.lang.String key)
-
get
public java.util.Collection<E> get(java.lang.String key)
-
cache
public void cache(java.lang.String key, E entry, int ttl)
-
size
public long size()
-
stats
public com.github.benmanes.caffeine.cache.stats.CacheStats stats()
-
-