当前位置: 首页>>代码示例>>Python>>正文


Python AsynsockDispatcher.registerRoutingCbFun方法代码示例

本文整理汇总了Python中pysnmp.carrier.asynsock.dispatch.AsynsockDispatcher.registerRoutingCbFun方法的典型用法代码示例。如果您正苦于以下问题:Python AsynsockDispatcher.registerRoutingCbFun方法的具体用法?Python AsynsockDispatcher.registerRoutingCbFun怎么用?Python AsynsockDispatcher.registerRoutingCbFun使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pysnmp.carrier.asynsock.dispatch.AsynsockDispatcher的用法示例。


在下文中一共展示了AsynsockDispatcher.registerRoutingCbFun方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: print

# 需要导入模块: from pysnmp.carrier.asynsock.dispatch import AsynsockDispatcher [as 别名]
# 或者: from pysnmp.carrier.asynsock.dispatch.AsynsockDispatcher import registerRoutingCbFun [as 别名]
            "Notification Receiver returned error for request %s, SNMP Engine %s: %s @%s"
            % (sendRequestHandle, snmpEngine.snmpEngineID.prettyPrint(), errorStatus, errorIndex)
        )
    else:
        print(
            "Notification %s for SNMP Engine %s delivered:" % (sendRequestHandle, snmpEngine.snmpEngineID.prettyPrint())
        )
        for name, val in varBinds:
            print("%s = %s" % (name.prettyPrint(), val.prettyPrint()))


# Instantiate the single transport dispatcher object
transportDispatcher = AsynsockDispatcher()

# Setup a custom data routing function to select snmpEngine by transportDomain
transportDispatcher.registerRoutingCbFun(lambda td, ta, d: ta[1] % 3 and "A" or "B")

snmpEngineA = engine.SnmpEngine()
snmpEngineA.registerTransportDispatcher(transportDispatcher, "A")

snmpEngineB = engine.SnmpEngine()
snmpEngineB.registerTransportDispatcher(transportDispatcher, "B")

ntfOrg = ntforg.AsyncNotificationOriginator()

for authData, transportTarget, contextData in targets:
    snmpEngine = transportTarget.getTransportInfo()[1][1] % 3 and snmpEngineA or snmpEngineB
    sendPduHandle = ntfOrg.sendNotification(
        snmpEngine,
        authData,
        transportTarget,
开发者ID:ww9rivers,项目名称:pysnmp,代码行数:33,代码来源:inform-async-multiple-snmp-engines.py

示例2: print

# 需要导入模块: from pysnmp.carrier.asynsock.dispatch import AsynsockDispatcher [as 别名]
# 或者: from pysnmp.carrier.asynsock.dispatch.AsynsockDispatcher import registerRoutingCbFun [as 别名]
        )
        return 1
    
    for oid, val in varBinds:
        if val is None:
            print(oid.prettyPrint())
        else:
            print('%s = %s' % (oid.prettyPrint(), val.prettyPrint()))


# Instantiate the single transport dispatcher object
transportDispatcher = AsynsockDispatcher()

# Setup a custom data routing function to select snmpEngine by transportDomain
transportDispatcher.registerRoutingCbFun(
    lambda td,ta,d: ta[1] % 3 and 'A' or 'B'
)

snmpEngineA = engine.SnmpEngine()
snmpEngineA.registerTransportDispatcher(transportDispatcher, 'A')

snmpEngineB = engine.SnmpEngine()
snmpEngineB.registerTransportDispatcher(transportDispatcher, 'B')

cmdGen = cmdgen.AsyncCommandGenerator()

for authData, transportTarget, varBinds in targets:
    snmpEngine = transportTarget.getTransportInfo()[1][1] % 3 and \
            snmpEngineA or snmpEngineB
    cmdGen.getCmd(
        snmpEngine, authData, transportTarget, cmdgen.ContextData(), varBinds,
开发者ID:ww9rivers,项目名称:pysnmp,代码行数:33,代码来源:get-async-multiple-snmp-engines.py

示例3: AsynsockDispatcher

# 需要导入模块: from pysnmp.carrier.asynsock.dispatch import AsynsockDispatcher [as 别名]
# 或者: from pysnmp.carrier.asynsock.dispatch.AsynsockDispatcher import registerRoutingCbFun [as 别名]
from pysnmp.entity.rfc3413 import cmdrsp, context
from pysnmp.proto import rfc1902
from pysnmp.carrier.asynsock.dispatch import AsynsockDispatcher
from pysnmp.carrier.asynsock.dgram import udp

# Configuration parameters for each of SNMP Engines
snmpEngineInfo = (
    ( '0102030405060708', udp.domainName + (0,), ('127.0.0.1', 161) ),
    ( '0807060504030201', udp.domainName + (1,), ('127.0.0.2', 161) )
)

# Instantiate the single transport dispatcher object
transportDispatcher = AsynsockDispatcher()

# Setup a custom data routing function to select snmpEngine by transportDomain
transportDispatcher.registerRoutingCbFun(lambda td,t,d: td)

# Instantiate and configure SNMP Engines 
for snmpEngineId, transportDomain, transportAddress in snmpEngineInfo:
    # Create SNMP engine with specific engineID
    snmpEngine = engine.SnmpEngine(rfc1902.OctetString(hexValue=snmpEngineId))

    # Register SNMP Engine object with transport dispatcher. Request incoming
    # data from specific transport endpoint to be funneled to this SNMP Engine.
    snmpEngine.registerTransportDispatcher(transportDispatcher, transportDomain)

    # Transport setup

    # UDP over IPv4 
    config.addTransport(
        snmpEngine,
开发者ID:Jelloeater,项目名称:SNMP-Alerter,代码行数:33,代码来源:v3-multiple-snmp-engines.py


注:本文中的pysnmp.carrier.asynsock.dispatch.AsynsockDispatcher.registerRoutingCbFun方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。