From f085a36fb728fe1079d32fc07540274e2161e5ab Mon Sep 17 00:00:00 2001 From: Ilya Etingof Date: Sun, 17 Apr 2016 22:36:53 +0200 Subject: work even if transport dispatcher is not available --- pysnmp/proto/secmod/rfc3414/service.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pysnmp/proto/secmod/rfc3414/service.py b/pysnmp/proto/secmod/rfc3414/service.py index 7bcf551c..415ee827 100644 --- a/pysnmp/proto/secmod/rfc3414/service.py +++ b/pysnmp/proto/secmod/rfc3414/service.py @@ -791,7 +791,8 @@ class SnmpUSMSecurityModel(AbstractSecurityModel): int(time.time()) ) - expireAt = int(self.__expirationTimer + 300 / snmpEngine.transportDispatcher.getTimerResolution()) + timerResolution = snmpEngine.transportDispatcher is None and 1.0 or snmpEngine.transportDispatcher.getTimerResolution() + expireAt = int(self.__expirationTimer + 300 / timerResolution) if expireAt not in self.__timelineExpQueue: self.__timelineExpQueue[expireAt] = [] self.__timelineExpQueue[expireAt].append(msgAuthoritativeEngineId) @@ -859,7 +860,9 @@ class SnmpUSMSecurityModel(AbstractSecurityModel): msgAuthoritativeEngineTime, int(time.time()) ) - expireAt = int(self.__expirationTimer + 300 / snmpEngine.transportDispatcher.getTimerResolution()) + + timerResolution = snmpEngine.transportDispatcher is None and 1.0 or snmpEngine.transportDispatcher.getTimerResolution() + expireAt = int(self.__expirationTimer + 300 / timerResolution) if expireAt not in self.__timelineExpQueue: self.__timelineExpQueue[expireAt] = [] self.__timelineExpQueue[expireAt].append(msgAuthoritativeEngineId) -- cgit v1.2.1