]> git.ipfire.org Git - oddments/cappie.git/blobdiff - cappie/__init__.py
Register some handlers to the interface callback function.
[oddments/cappie.git] / 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))