Module Async_extended.Deferred_cache

type ('a, 'b) t
val create : add_to_cache:('a ‑> 'b Core.Or_error.t Async.Deferred.t) ‑> to_remove:('b ‑> unit Async.Deferred.t) ‑> hashable:'a Core.Hashtbl.Hashable.t ‑> ?⁠on_exn:('a ‑> exn ‑> unit) ‑> ?⁠cache_errors:bool ‑> ?⁠remove_if_unread_for:Core.Time.Span.t ‑> ?⁠max_cached_data_age:Core.Time.Span.t ‑> ?⁠max_total_concurrent_jobs:int ‑> unit ‑> ('a'bt
val find : ('a'bt ‑> key:'a ‑> 'b Core.Or_error.t Async.Deferred.t
val find_cached_only : ('a'bt ‑> key:'a ‑> 'b option
val remove : ('a_t ‑> key:'a ‑> unit Async.Deferred.t