X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=p2pool%2Futil%2Fexpiring_dict.py;h=8a3c9eede5635a68b1c565ce4b190063ed1707d9;hb=0a3493d6873cfef4fb189d39e64dfbc6e162e2a7;hp=8093bbf2edd4fc540f16ec00de9150136968325d;hpb=01e8399de02e6f4ea3c3440514f5808e8033ca04;p=p2pool.git diff --git a/p2pool/util/expiring_dict.py b/p2pool/util/expiring_dict.py index 8093bbf..8a3c9ee 100644 --- a/p2pool/util/expiring_dict.py +++ b/p2pool/util/expiring_dict.py @@ -3,7 +3,7 @@ from __future__ import division import time import weakref -from twisted.internet import task +from p2pool.util import deferral class Node(object): def __init__(self, contents, prev=None, next=None): @@ -106,7 +106,7 @@ class ExpiringDict(object): self.d = dict() # key -> node, value self_ref = weakref.ref(self, lambda _: expire_loop.stop() if expire_loop.running else None) - self._expire_loop = expire_loop = task.LoopingCall(lambda: self_ref().expire()) + self._expire_loop = expire_loop = deferral.RobustLoopingCall(lambda: self_ref().expire()) expire_loop.start(1) def stop(self): @@ -178,23 +178,3 @@ class ExpiringDict(object): def itervalues(self): for node, value in self.d.itervalues(): yield value - -if __name__ == '__main__': - x = ExpiringDict(5) - print x - - time.sleep(1) - - x[1] = 2 - print 'x[1] = 2' - print x - - time.sleep(1) - - x[1] = 3 - print 'x[1] = 3' - print x - - time.sleep(5) - - print x