From: Michael Tremer Date: Thu, 29 Apr 2010 17:32:52 +0000 (+0200) Subject: Register some handlers to the interface callback function. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54e92b606bae60e47af1739bb0d146de1769bf74;p=oddments%2Fcappie.git Register some handlers to the interface callback function. --- diff --git a/cappie/__init__.py b/cappie/__init__.py index 9e469d0..4152b2f 100644 --- a/cappie/__init__.py +++ b/cappie/__init__.py @@ -31,6 +31,7 @@ import protocol import queue from errors import * +from events import * def getAllInterfaces(): filters = ("lo", "any") @@ -162,6 +163,8 @@ class Interface(Thread): for key, val in p.items(): self.log.debug(" %s: %s" % (key, val)) + self._handlePacket(p) + def run(self): self.log.info("Starting interface %s" % self.dev) @@ -192,3 +195,11 @@ class Interface(Thread): def addEvent(self, event): return self.cappie.queue.add(event) + + def _handlePacket(self, packet): + if packet.operation == OPERATION_RESPONSE: + self.addEvent(EventResponseTrigger(self, packet)) + #self.addEvent(EventCheckDuplicate(self, packet)) + + elif packet.operation == OPERATION_REQUEST: + self.addEvent(EventRequestTrigger(self, packet))