o
    BŠ]„  ã                   @   s    d dl mZ G dd„ deƒZdS )é    )Úerrorc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚCachec                 C   s
   i | _ d S ©N©Ú_Cache__cacheRepository)Úself© r   ú4/usr/lib/python3/dist-packages/pysnmp/proto/cache.pyÚ__init__   s   
zCache.__init__c                 K   s   || j |< |S r   r   ©r   ÚindexÚkwargsr   r   r	   Úadd   s   
z	Cache.addc                 C   s&   || j v r| j | }nd S | j |= |S r   r   )r   r   ÚcachedParamsr   r   r	   Úpop   s
   
z	Cache.popc                 K   s,   || j vrt d| ¡‚| j |  |¡ d S )NzCache miss on update for %s)r   r   ZProtocolErrorÚupdater   r   r   r	   r      s
   
ÿzCache.updatec                 C   s>   t | j ¡ ƒD ]\}}|r||||ƒr|| jv r| j|= qd S r   )Úlistr   Úitems)r   ZcbFunZcbCtxr   r   r   r   r	   Úexpire!   s   
€üzCache.expireN)Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r   r   r   r   r	   r   
   s    r   N)Zpysnmp.protor   Úobjectr   r   r   r   r	   Ú<module>   s   