class_docstr: A cache of ForwardMsgs.
  
  Large ForwardMsgs (e.g. those containing big DataFrame payloads) are
  stored in this cache. The server can choose to send a ForwardMsg's hash,
  rather than the message itself, to a client. Clients can then
  request messages from this cache via another endpoint.
  
  This cache is *not* thread safe. It's intended to only be accessed by
  the server thread.
class_docstr_tok: ["A","cache","of","ForwardMsgs",".","Large","ForwardMsgs","(","e.g",".","those","containing","big","DataFrame","payloads",")","are","stored","in","this","cache",".","The","server","can","choose","to","send","a","ForwardMsg","'s","hash",",","rather","than","the","message","itself",",","to","a","client",".","Clients","can","then","request","messages","from","this","cache","via","another","endpoint",".","This","cache","is","*","not","*","thread","safe",".","It","'s","intended","to","only","be","accessed","by","the","server","thread","."]
code: def __init__(self):
      self._entries: Dict[str, "ForwardMsgCache.Entry"] = {}
  
imports: import hashlib
  from typing import TYPE_CHECKING, Dict, List, MutableMapping, Optional
  from weakref import WeakKeyDictionary
  from streamlit import config, util
  from streamlit.logger import get_logger
  from streamlit.proto.ForwardMsg_pb2 import ForwardMsg
  from streamlit.runtime.stats import CacheStat, CacheStatsProvider, group_stats
  from streamlit.util import HASHLIB_KWARGS
label_desc: Use image node_id 1 to create a new ForwardMsgCache object from inherited base classes: CacheStatsProvider with example: obj = ForwardMsgCache()