poc2_worked

This commit is contained in:
Mateusz Gruszczyński
2026-08-15 18:29:36 +02:00
parent fc3a2944b2
commit 71b6c0d86f
62 changed files with 9112 additions and 375 deletions
+8
View File
@@ -73,6 +73,7 @@ class TZSPReceiver(threading.Thread):
frame_writer: Callable[[bytes], int],
stats: RuntimeStats,
stop_event: threading.Event,
frame_observer: Callable[[bytes], None] | None = None,
) -> None:
super().__init__(name="tzsp-receiver", daemon=True)
self.bind_host = bind_host
@@ -80,6 +81,7 @@ class TZSPReceiver(threading.Thread):
self.frame_writer = frame_writer
self.stats = stats
self.stop_event = stop_event
self.frame_observer = frame_observer
self.sock: socket.socket | None = None
def run(self) -> None:
@@ -113,6 +115,12 @@ class TZSPReceiver(threading.Thread):
self.stats.inc("tzsp_unsupported")
continue
if self.frame_observer is not None:
try:
self.frame_observer(packet.frame)
except Exception:
# Live tracking is best-effort and must never break packet injection.
self.stats.inc("flow_tracker_errors")
try:
self.frame_writer(packet.frame)
self.stats.inc("frames_injected")