summaryrefslogtreecommitdiff
path: root/pysnmp/carrier/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysnmp/carrier/base.py')
-rw-r--r--pysnmp/carrier/base.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/pysnmp/carrier/base.py b/pysnmp/carrier/base.py
index 51a2d0b5..40b8d78a 100644
--- a/pysnmp/carrier/base.py
+++ b/pysnmp/carrier/base.py
@@ -36,6 +36,14 @@ class TimerCallable(object):
def __ge__(self, cbFun):
return self.__cbFun >= cbFun
+ @property
+ def interval(self):
+ return self.__callInterval
+
+ @interval.setter
+ def interval(self, callInterval):
+ self.__callInterval = callInterval
+
class AbstractTransportDispatcher(object):
def __init__(self):
@@ -151,6 +159,12 @@ class AbstractTransportDispatcher(object):
def setTimerResolution(self, timerResolution):
if timerResolution < 0.01 or timerResolution > 10:
raise error.CarrierError('Impossible timer resolution')
+
+ for timerCallable in self.__timerCallables:
+ if timerCallable.interval == self.__timerResolution:
+ # Update periodics for default resolutions
+ timerCallable.interval = timerResolution
+
self.__timerResolution = timerResolution
self.__timerDelta = timerResolution * 0.05