o
    BŠ]Ò  ã                   @   s,   d dl mZ d dlmZ G dd„ deƒZdS )é    )Úcache)Úerrorc                   @   s@   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dS )ÚAbstractSecurityModelNc                 C   s   t  ¡ | _d S ©N)r   ZCacheÚ_cache)Úself© r   ú:/usr/lib/python3/dist-packages/pysnmp/proto/secmod/base.pyÚ__init__   s   zAbstractSecurityModel.__init__c	           	      C   ó   t  d|  ¡‚©Nz!Security model %s not implemented©r   ZProtocolError)	r   Ú
snmpEngineÚmessageProcessingModelÚmaxMessageSizeZsecurityParametersÚsecurityModelÚsecurityLevelZwholeMsgÚmsgr   r   r	   ÚprocessIncomingMsg   s   z(AbstractSecurityModel.processIncomingMsgc
           
      C   r   r   r   )
r   r   r   Ú
globalDatar   r   ÚsecurityEngineIDÚsecurityNamer   Ú	scopedPDUr   r   r	   ÚgenerateRequestMsg   ó   z(AbstractSecurityModel.generateRequestMsgc                 C   r   r   r   )r   r   r   r   r   r   r   r   r   r   ZsecurityStateReferencer   r   r	   ÚgenerateResponseMsg   r   z)AbstractSecurityModel.generateResponseMsgc                 C   s   | j  |¡ d S r   )r   Úpop)r   ZstateReferencer   r   r	   ÚreleaseStateInformation"   s   z-AbstractSecurityModel.releaseStateInformationc                 C   s   d S r   r   )r   r   ZtimeNowr   r   r	   ÚreceiveTimerTick%   s   z&AbstractSecurityModel.receiveTimerTick)
Ú__name__Ú
__module__Ú__qualname__ZsecurityModelIDr
   r   r   r   r   r   r   r   r   r	   r      s    r   N)Zpysnmp.proto.secmodr   Zpysnmp.protor   Úobjectr   r   r   r   r	   Ú<module>   s   