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.
- Alphabetic
- By Inheritance
- LoadingFutureCache
- Function1
- CaffeineCache
- ConcurrentMapCache
- FutureCache
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
andThen[A](g: (Future[V]) ⇒ A): (K) ⇒ A
- Definition Classes
- Function1
- Annotations
- @unspecialized()
-
def
apply(key: K): Future[V]
- Definition Classes
- LoadingFutureCache → Function1
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
compose[A](g: (A) ⇒ K): (A) ⇒ Future[V]
- Definition Classes
- Function1
- Annotations
- @unspecialized()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
evict(key: K, value: Future[V]): Boolean
Evicts the contents of a
keyif the old value isvalue.Evicts the contents of a
keyif the old value isvalue.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
- ConcurrentMapCache → FutureCache
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
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
- LoadingFutureCache → ConcurrentMapCache → FutureCache
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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
- CaffeineCache → ConcurrentMapCache → FutureCache
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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
- ConcurrentMapCache → FutureCache
-
def
size: Int
- returns
the number of results that have been computed successfully or are in flight.
- Definition Classes
- ConcurrentMapCache → FutureCache
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Function1 → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()