o
    S۷i                     @   s4   d dl mZ erd dl mZ e ZG dd dZdS )    )TYPE_CHECKING)Anyc                   @   s>   e Zd ZdeddfddZdd	d
ZddddZdddZdS )LRUCachemax_sizereturnNc                 C   s8   |dkrt d| || _i | _d | _| _d| _d S )Nr   zinvalid max_size: F)AssertionErrorr   _datahitsmissesfull)selfr    r   K/home/ubuntu/vllm_env/lib/python3.10/site-packages/sentry_sdk/_lru_cache.py__init__   s   
zLRUCache.__init__keyr   valuec                 C   sj   | j |t}|tur|| j |< n| jr%| j tt| j  || j |< n|| j |< t| j | jk| _d S N)r   pop	_SENTINELr   nextiterlenr   )r   r   r   currentr   r   r   set   s   
zLRUCache.setdefaultc                 C   sT   z| j |}W n ty   |  jd7  _|}Y |S w |  jd7  _|| j |< |S )N   )r   r   KeyErrorr
   r	   )r   r   r   retr   r   r   get   s   
zLRUCache.getlist[tuple[Any, Any]]c                 C   s   t | j S r   )listr   items)r   r   r   r   get_all*   s   zLRUCache.get_all)r   r   r   r   r   Nr   )r   r   r   r   r   r   )r   r   )__name__
__module____qualname__intr   r   r   r"   r   r   r   r   r   
   s
    
r   N)typingr   r   objectr   r   r   r   r   r   <module>   s
    