]> git.ipfire.org Git - oddments/cappie.git/commitdiff
Register some handlers to the interface callback function.
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 29 Apr 2010 17:32:52 +0000 (19:32 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 29 Apr 2010 17:32:52 +0000 (19:32 +0200)
cappie/__init__.py

index 9e469d0d42956440e964d20335b2c0ac894650b3..4152b2fd0385e6b67f11a0c85bb9f9e52acff7c7 100644 (file)
@@ -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))