Packages

c

com.twitter.cache.caffeine

LoadingFutureCache

class LoadingFutureCache[K, V] extends CaffeineCache[K, V] with (K) => Future[V]

A com.twitter.cache.FutureCache backed by a com.github.benmanes.caffeine.cache.LoadingCache.

Any correct implementation should make sure that you evict failed results, and don't interrupt the underlying request that has been fired off. EvictingCache$ and interrupting com.twitter.util.Futures are useful tools for building correct FutureCaches. A reference implementation for caching the results of an asynchronous function with a caffeine LoadingCache can be found at CaffeineCache$.fromLoadingCache.

Linear Supertypes
(K) => Future[V], CaffeineCache[K, V], ConcurrentMapCache[K, V], FutureCache[K, V], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LoadingFutureCache
  2. Function1
  3. CaffeineCache
  4. ConcurrentMapCache
  5. FutureCache
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new LoadingFutureCache(cache: LoadingCache[K, Future[V]])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (Future[V]) => A): (K) => A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. def apply(key: K): Future[V]
    Definition Classes
    LoadingFutureCache → Function1
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. def compose[A](g: (A) => K): (A) => Future[V]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def evict(key: K, value: Future[V]): Boolean

    Evicts the contents of a key if the old value is value.

    Evicts the contents of a key if the old value is value.

    Since com.twitter.util.Future uses reference equality, you must use the same object reference to evict a value.

    returns

    true if the key was evicted false if the key was not evicted

    Definition Classes
    ConcurrentMapCacheFutureCache
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  13. def get(key: K): Option[Future[V]]

    Gets the cached Future.

    Gets the cached Future.

    returns

    None if a value hasn't been specified for that key yet Some(ksync computation) if the value has been specified. Just because this returns Some(..) doesn't mean that it has been satisfied, but if it hasn't been satisfied, it's probably in-flight.

    Definition Classes
    LoadingFutureCacheConcurrentMapCacheFutureCache
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def getOrElseUpdate(k: K)(v: => Future[V]): Future[V]

    Gets the cached Future, or if it hasn't been returned yet, computes it and returns that value.

    Gets the cached Future, or if it hasn't been returned yet, computes it and returns that value.

    Definition Classes
    CaffeineCacheConcurrentMapCacheFutureCache
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def set(key: K, value: Future[V]): Unit

    Unconditionally sets a value for a given key

    Unconditionally sets a value for a given key

    Definition Classes
    ConcurrentMapCacheFutureCache
  22. def size: Int

    returns

    the number of results that have been computed successfully or are in flight.

    Definition Classes
    ConcurrentMapCacheFutureCache
  23. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from (K) => Future[V]

Inherited from CaffeineCache[K, V]

Inherited from ConcurrentMapCache[K, V]

Inherited from FutureCache[K, V]

Inherited from AnyRef

Inherited from Any

Ungrouped