o
    BŠ]|  ã                   @   s,   d dl mZ d dlmZ G dd„ deƒZdS )é    )Únextid)Úerrorc                   @   s.   e Zd Ze d¡Zdd„ Zdd„ Zdd„ ZdS )	ÚCacheiÿÿÿ c                 C   s
   i | _ d S ©N)Ú_Cache__cacheEntries)Úself© r   ú;/usr/lib/python3/dist-packages/pysnmp/proto/secmod/cache.pyÚ__init__   s   
zCache.__init__c                 K   s   |   ¡ }|| j|< |S r   )Ú_Cache__stateReferencer   )r   ÚsecurityDataÚstateReferencer   r   r	   Úpush   s   
z
Cache.pushc                 C   s4   || j v r| j | }n	t d|| f ¡‚| j |= |S )Nz&Cache miss for stateReference=%s at %s)r   r   ZProtocolError)r   r   r   r   r   r	   Úpop   s   

ÿz	Cache.popN)	Ú__name__Ú
__module__Ú__qualname__r   ZIntegerr   r
   r   r   r   r   r   r	   r      s
    
r   N)Zpysnmpr   Zpysnmp.protor   Úobjectr   r   r   r   r	   Ú<module>   s   