diff options
Diffstat (limited to 'examples/v3arch/asyncore/manager/ntfrcv/observe-request-processing.py')
-rw-r--r-- | examples/v3arch/asyncore/manager/ntfrcv/observe-request-processing.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/examples/v3arch/asyncore/manager/ntfrcv/observe-request-processing.py b/examples/v3arch/asyncore/manager/ntfrcv/observe-request-processing.py index 6dd9b305..9f3a2c40 100644 --- a/examples/v3arch/asyncore/manager/ntfrcv/observe-request-processing.py +++ b/examples/v3arch/asyncore/manager/ntfrcv/observe-request-processing.py @@ -27,6 +27,7 @@ from pysnmp.entity.rfc3413 import ntfrcv # to socket transport dispatcher snmpEngine = engine.SnmpEngine() + # Execution point observer setup # Register a callback to be invoked at specified execution point of @@ -43,6 +44,7 @@ def requestObserver(snmpEngine, execpoint, variables, cbCtx): print('* contextName: %s' % variables['contextName'].prettyPrint()) print('* PDU: %s' % variables['pdu'].prettyPrint()) + snmpEngine.observer.registerObserver( requestObserver, 'rfc3412.receiveMessage:request', @@ -63,29 +65,28 @@ config.addTransport( snmpEngine, udp6.domainName, udp6.Udp6Transport().openServerMode(('::1', 162)) - ) +) # SNMPv1/2c setup # SecurityName <-> CommunityName mapping config.addV1System(snmpEngine, 'my-area', 'public') + # Callback function for receiving notifications # noinspection PyUnusedLocal,PyUnusedLocal,PyUnusedLocal def cbFun(snmpEngine, stateReference, contextEngineId, contextName, varBinds, cbCtx): - print('Notification from ContextEngineId "%s", ContextName "%s"' % ( - contextEngineId.prettyPrint(), - contextName.prettyPrint() - ) - ) + print('Notification from ContextEngineId "%s", ContextName "%s"' % (contextEngineId.prettyPrint(), + contextName.prettyPrint())) for name, val in varBinds: print('%s = %s' % (name.prettyPrint(), val.prettyPrint())) + # Register SNMP Application at the SNMP engine ntfrcv.NotificationReceiver(snmpEngine, cbFun) -snmpEngine.transportDispatcher.jobStarted(1) # this job would never finish +snmpEngine.transportDispatcher.jobStarted(1) # this job would never finish # Run I/O dispatcher which would receive queries and send confirmations try: |