poc2_worked
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user