Looks up a request in the cache, failing with the unit value if the
request is not in the cache, succeeding with Ref(None)
if the request is
in the cache but has not been executed yet, or Ref(Some(value))
if the
request has been executed.
Looks up a request in the cache.
Looks up a request in the cache. If the request is not in the cache
returns a Left
with a Ref
that can be set with a Some
to complete
the request. If the request is in the cache returns a Right
with a Ref
that either contains Some
with a result if the request has been executed
or None
if the request has not been executed yet.
Inserts a request and a Ref
that will contain the result of the request
when it is executed into the cache.
Removes a request from the cache.
A
Cache
maintains an internal state with a mapping from requests toRef
s that will contain the result of those requests when they are executed. This is used internally by the library to provide deduplication and caching of requests.