class_docstr: Duck-type API that a third-party alternative to SpillBuffer must respect (in
  addition to MutableMapping) if it wishes to support spilling when the
  ``distributed.worker.memory.spill`` threshold is surpassed.
  
  This is public API. At the moment of writing, Dask-CUDA implements this protocol in
  the ProxifyHostFile class.
class_docstr_tok: ["Duck-type","API","that","a","third-party","alternative","to","SpillBuffer","must","respect","(","in","addition","to","MutableMapping",")","if","it","wishes","to","support","spilling","when","the","``","distributed.worker.memory.spill","``","threshold","is","surpassed",".","This","is","public","API",".","At","the","moment","of","writing",",","Dask-CUDA","implements","this","protocol","in","the","ProxifyHostFile","class","."]
docstr: Access to fast memory. This is normally a MutableMapping, but for the purpose
  of the manual eviction API it is just tested for emptiness to know if there is
  anything to evict.
code: def fast(self) -> Sized | bool:
      """Access to fast memory. This is normally a MutableMapping, but for the purpose
      of the manual eviction API it is just tested for emptiness to know if there is
      anything to evict.
      """
      ...
  
imports: from __future__ import annotations
  import logging
  from collections import defaultdict
  from collections.abc import Callable, Hashable, Iterator, Mapping, MutableMapping, Sized
  from contextlib import contextmanager
  from functools import partial
  from typing import Literal, NamedTuple, Protocol, cast
  import zict
  from dask.typing import Key
  from distributed.metrics import context_meter
  from distributed.protocol import deserialize_bytes, serialize_bytelist
  from distributed.protocol.compression import get_compression_settings
  from distributed.sizeof import safe_sizeof
  from distributed.utils import RateLimiterFilter, nbytes
label_desc: Use image node_id 1 for calling the ManualEvictProto obj's underlying member method code with example usage: obj.fast() without return types