This commit is contained in:
who
2007-11-12 11:17:25 +01:00
parent fbb070c940
commit 197d60b102
8 changed files with 256 additions and 212 deletions

24
server/Expirer.py Normal file
View File

@ -0,0 +1,24 @@
import threading
import time
class Expirer(threading.Thread):
def __init__(self, entries, eventLifeTime, nullAddress):
threading.Thread.__init__(self)
self.entries = entries
self.eventLifeTime = eventLifeTime
self.nullAddress = nullAddress
self.setDaemon(True)
def run(self):
while True:
print "Expiring ..."
currentTime = int(time.time())
for entry in self.entries.values():
print "Checking ", str(entry)
if entry.lastEventTime != 0 and entry.lastEventTime + self.eventLifeTime < currentTime:
print "Entry %s expired" % entry.dynid
entry.lastEventTime = 0
entry.address = self.nullAddress
print "Set in DNS: %s -> %s" % (entry.name, entry.address)
time.sleep(10)