⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pdutypes.py

📁 实现snmp协议的agent 和manager
💻 PY
字号:
"""SNMP version independent PDU type classes"""from pysnmp.proto import rfc1157, rfc1905class PduTypeMixInBase:    def apiAlphaGetPduType(self):        return self.apiAlphaPduType# MixIn's# Common v1/v2c typesclass GetRequestPduTypeMixIn(PduTypeMixInBase):    apiAlphaPduType = 'GetRequest'class GetNextRequestPduTypeMixIn(PduTypeMixInBase):    apiAlphaPduType = 'GetNextRequest'class SetRequestPduTypeMixIn(PduTypeMixInBase):    apiAlphaPduType = 'SetRequest'class GetResponsePduTypeMixIn(PduTypeMixInBase):    apiAlphaPduType = 'GetResponse'class TrapPduTypeMixIn(PduTypeMixInBase):    apiAlphaPduType = 'Trap'# v2c only typesclass GetBulkRequestPduTypeMixIn(PduTypeMixInBase):    apiAlphaPduType = 'BulkRequest'class InformRequestPduTypeMixIn(PduTypeMixInBase):    apiAlphaPduType = 'InformRequest'class ReportPduTypeMixIn(PduTypeMixInBase):    apiAlphaPduType = 'Report'# Stand-alone PDU typesclass PduTypeBase:    def __hash__(self): return hash(self.apiAlphaPduType)    def __cmp__(self, other): return cmp(self.apiAlphaPduType, other)    def __str__(self): return str(self.apiAlphaPduType)# Common v1/v2c typesclass GetRequestPduType(PduTypeBase, GetRequestPduTypeMixIn): passclass GetNextRequestPduType(PduTypeBase, GetNextRequestPduTypeMixIn): passclass SetRequestPduType(PduTypeBase, SetRequestPduTypeMixIn): passclass GetResponsePduType(PduTypeBase, GetResponsePduTypeMixIn): passclass TrapPduType(PduTypeBase, TrapPduTypeMixIn): pass# v2c only typesclass GetBulkRequestPduType(PduTypeBase, GetBulkRequestPduTypeMixIn): passclass InformRequestPduType(PduTypeBase, InformRequestPduTypeMixIn): passclass ReportPduType(PduTypeBase, ReportPduTypeMixIn): passmixInComps = [ (rfc1157.GetRequestPdu, GetRequestPduTypeMixIn),               (rfc1157.GetNextRequestPdu, GetNextRequestPduTypeMixIn),               (rfc1157.SetRequestPdu, SetRequestPduTypeMixIn),               (rfc1157.GetResponsePdu, GetResponsePduTypeMixIn),               (rfc1157.TrapPdu, TrapPduTypeMixIn),               (rfc1905.GetRequestPdu, GetRequestPduTypeMixIn),               (rfc1905.GetNextRequestPdu, GetNextRequestPduTypeMixIn),               (rfc1905.SetRequestPdu, SetRequestPduTypeMixIn),               (rfc1905.ResponsePdu, GetResponsePduTypeMixIn),               (rfc1905.GetBulkRequestPdu, GetBulkRequestPduTypeMixIn),               (rfc1905.InformRequestPdu, InformRequestPduTypeMixIn),               (rfc1905.ReportPdu, ReportPduTypeMixIn),               (rfc1905.TrapPdu, TrapPduTypeMixIn) ]for (baseClass, mixIn) in mixInComps:    if mixIn not in baseClass.__bases__:        baseClass.__bases__ = (mixIn, ) + baseClass.__bases__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -