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.
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.