summaryrefslogtreecommitdiff
path: root/examples/v1arch/asyncore/manager/cmdgen/v2c-set.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/v1arch/asyncore/manager/cmdgen/v2c-set.py')
-rw-r--r--examples/v1arch/asyncore/manager/cmdgen/v2c-set.py30
1 files changed, 17 insertions, 13 deletions
diff --git a/examples/v1arch/asyncore/manager/cmdgen/v2c-set.py b/examples/v1arch/asyncore/manager/cmdgen/v2c-set.py
index bc031fd5..bbc95063 100644
--- a/examples/v1arch/asyncore/manager/cmdgen/v2c-set.py
+++ b/examples/v1arch/asyncore/manager/cmdgen/v2c-set.py
@@ -1,6 +1,6 @@
-"""Command Generator Application (SET)"""
+"""Command Generator Application (GET)"""
from pysnmp.carrier.asynsock.dispatch import AsynsockDispatcher
-from pysnmp.carrier.asynsock.dgram.udp import UdpSocketTransport
+from pysnmp.carrier.asynsock.dgram import udp
from pyasn1.codec.ber import encoder, decoder
from pysnmp.proto import api
from time import time
@@ -9,13 +9,13 @@ from time import time
pMod = api.protoModules[api.protoVersion1]
# Build PDU
-reqPDU = pMod.SetRequestPDU()
+reqPDU = pMod.GetRequestPDU()
pMod.apiPDU.setDefaults(reqPDU)
pMod.apiPDU.setVarBinds(
reqPDU,
# A list of Var-Binds to SET
(((1,3,6,1,2,1,1,1,0), pMod.Integer(123456)),
- ((1,3,6,1,2,1,1,2,0), pMod.IPAddress('127.0.0.1')))
+ ((1,3,6,1,2,1,1,2,0), pMod.IpAddress('127.0.0.1')))
)
# Build message
@@ -28,26 +28,30 @@ def cbTimerFun(timeNow, startedAt=time()):
if timeNow - startedAt > 3:
raise "Request timed out"
-def cbRecvFun(tspDsp, transportDomain, transportAddress,
+def cbRecvFun(transportDispatcher, transportDomain, transportAddress,
wholeMsg, reqPDU=reqPDU):
while wholeMsg:
rspMsg, wholeMsg = decoder.decode(wholeMsg, asn1Spec=pMod.Message())
- print rspMsg.prettyPrinter()
rspPDU = pMod.apiMessage.getPDU(rspMsg)
# Match response to request
if pMod.apiPDU.getRequestID(reqPDU)==pMod.apiPDU.getRequestID(rspPDU):
+ # Check for SNMP errors reported
errorStatus = pMod.apiPDU.getErrorStatus(rspPDU)
if errorStatus:
print 'Error: ', errorStatus
else:
for oid, val in pMod.apiPDU.getVarBinds(rspPDU):
print oid, val
- tspDsp.doDispatchFlag = 0
+ transportDispatcher.stopDispatcher()
return wholeMsg
-dsp = AsynsockDispatcher(udp=UdpSocketTransport().openClientMode())
-dsp.registerRecvCbFun(cbRecvFun)
-dsp.registerTimerCbFun(cbTimerFun)
-#dsp.sendMessage(encoder.encode(reqMsg), 'udp', ('localhost', 1161)) # 161
-dsp.sendMessage(encoder.encode(reqMsg), 'udp', ('ts29.moscow.net.rol.ru', 161)) # 161
-dsp.runDispatcher(liveForever=1)
+transportDispatcher = AsynsockDispatcher()
+transportDispatcher.registerTransport(
+ udp.domainName, udp.UdpSocketTransport().openClientMode()
+ )
+transportDispatcher.registerRecvCbFun(cbRecvFun)
+transportDispatcher.registerTimerCbFun(cbTimerFun)
+transportDispatcher.sendMessage(
+ encoder.encode(reqMsg), udp.domainName, ('localhost', 161)
+ )
+transportDispatcher.runDispatcher()