diff options
Diffstat (limited to 'pysnmp/entity')
-rw-r--r-- | pysnmp/entity/rfc3413/cmdgen.py | 30 |
1 files changed, 2 insertions, 28 deletions
diff --git a/pysnmp/entity/rfc3413/cmdgen.py b/pysnmp/entity/rfc3413/cmdgen.py index 90180c67..9f5d891d 100644 --- a/pysnmp/entity/rfc3413/cmdgen.py +++ b/pysnmp/entity/rfc3413/cmdgen.py @@ -18,28 +18,6 @@ getNextHandle = nextid.Integer(0x7fffffff) __null = univ.Null('') -def getNextVarBinds(varBinds, origVarBinds=None): - errorIndication = None - idx = nonNulls = len(varBinds) - rspVarBinds = [] - while idx: - idx -= 1 - if varBinds[idx][1].tagSet in (rfc1905.NoSuchObject.tagSet, - rfc1905.NoSuchInstance.tagSet, - rfc1905.EndOfMibView.tagSet): - nonNulls -= 1 - elif origVarBinds is not None: - if v2c.ObjectIdentifier(origVarBinds[idx][0]).asTuple() >= varBinds[idx][0].asTuple(): - errorIndication = errind.oidNotIncreasing - - rspVarBinds.insert(0, (varBinds[idx][0], __null)) - - if not nonNulls: - rspVarBinds = [] - - return errorIndication, rspVarBinds - - class CommandGenerator(object): _null = univ.Null('') @@ -289,9 +267,7 @@ class NextCommandGenerator(NextCommandGeneratorSingleRun): elif not varBindTable: errorIndication, varBinds = errind.emptyResponse, () else: - errorIndication, varBinds = getNextVarBinds( - varBindTable[-1], v2c.apiPDU.getVarBinds(reqPDU) - ) + errorIndication, varBinds = v2c.apiPDU.getNextVarBinds(varBindTable[-1]) if not cbFun(snmpEngine, sendRequestHandle, errorIndication, v2c.apiPDU.getErrorStatus(PDU), @@ -371,9 +347,7 @@ class BulkCommandGenerator(BulkCommandGeneratorSingleRun): elif not varBindTable: errorIndication, varBinds = errind.emptyResponse, () else: - errorIndication, varBinds = getNextVarBinds( - varBindTable[-1], v2c.apiPDU.getVarBinds(reqPDU) - ) + errorIndication, varBinds = v2c.apiBulkPDU.getNextVarBinds(varBindTable[-1]) nonRepeaters = v2c.apiBulkPDU.getNonRepeaters(reqPDU) if nonRepeaters: varBinds = v2c.apiBulkPDU.getVarBinds(reqPDU)[:int(nonRepeaters)] + varBinds[int(nonRepeaters):] |