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eZdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Z	dd„ Z
dS )ÚAbstractMessageProcessingModelc                 C   s   |   ¡ | _t ¡ | _d S ©N)ÚsnmpMsgSpecZ_snmpMsgSpecr   ZCacheÚ_cache)Úself© r	   ú9/usr/lib/python3/dist-packages/pysnmp/proto/mpmod/base.pyÚ__init__   s   
z'AbstractMessageProcessingModel.__init__c                 C   ó
   t  d¡‚©Nzmethod not implemented©r   ÚProtocolError)r   Ú
snmpEngineÚtransportDomainÚtransportAddressÚmessageProcessingModelÚsecurityModelÚsecurityNameÚsecurityLevelÚcontextEngineIdÚcontextNameÚ
pduVersionÚpduZexpectResponseÚsendPduHandler	   r	   r
   ÚprepareOutgoingMessage   ó   
z5AbstractMessageProcessingModel.prepareOutgoingMessagec                 C   r   r   r   )r   r   r   r   r   r   r   r   r   r   ZmaxSizeResponseScopedPDUZstateReferenceZstatusInformationr	   r	   r
   ÚprepareResponseMessage   r   z5AbstractMessageProcessingModel.prepareResponseMessagec                 C   r   r   r   )r   r   r   r   ZwholeMsgr	   r	   r
   ÚprepareDataElements    s   
z2AbstractMessageProcessingModel.prepareDataElementsc                 C   s*   z	| j  |¡ W d S  tjy   Y d S w r   )r   ZpopBySendPduHandler   r   )r   r   r	   r	   r
   ÚreleaseStateInformation$   s
   ÿz6AbstractMessageProcessingModel.releaseStateInformationc                 C   s   | j  ¡  d S r   )r   ZexpireCaches)r   r   ZtimeNowr	   r	   r
   ÚreceiveTimerTick*   s   z/AbstractMessageProcessingModel.receiveTimerTickN)Ú__name__Ú
__module__Ú__qualname__ÚNotImplementedErrorr   r   r   r   r   r    r!   r	   r	   r	   r
   r      s    r   N)Zpysnmp.proto.mpmodr   Zpysnmp.protor   Úobjectr   r	   r	   r	   r
   Ú<module>   s   