Class

com.twitter.cache.guava

LoadingFutureCache

Related Doc: package guava

Permalink

class LoadingFutureCache[K, V] extends GuavaCache[K, V]

A com.twitter.cache.FutureCache backed by a com.google.common.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 Future#interrupting are useful tools for building correct FutureCaches. A reference implementation for caching the results of an asynchronous function with a guava LoadingCache can be found at GuavaCache$.fromLoadingCache.

Linear Supertypes
GuavaCache[K, V], ConcurrentMapCache[K, V], FutureCache[K, V], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. LoadingFutureCache
  2. GuavaCache
  3. ConcurrentMapCache
  4. FutureCache
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

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

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply(key: K): Future[V]

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def evict(key: K, value: Future[V]): Boolean

    Permalink

    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
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. def get(key: K): Option[Future[V]]

    Permalink

    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
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def getOrElseUpdate(k: K)(v: ⇒ Future[V]): Future[V]

    Permalink

    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
    GuavaCacheConcurrentMapCacheFutureCache
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. def set(key: K, value: Future[V]): Unit

    Permalink

    Unconditionally sets a value for a given key

    Unconditionally sets a value for a given key

    Definition Classes
    ConcurrentMapCacheFutureCache
  20. def size: Int

    Permalink

    returns

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

    Definition Classes
    ConcurrentMapCacheFutureCache
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from GuavaCache[K, V]

Inherited from ConcurrentMapCache[K, V]

Inherited from FutureCache[K, V]

Inherited from AnyRef

Inherited from Any

Ungrouped