Repository navigation
v1.8.4 — Bounded Async Packet Processing
Overview
This release introduces bounded asynchronous packet processing and explicit pressure visibility.
The packet pipeline is no longer synchronous. Ingress and processing are now decoupled through a bounded queue, making backlog, saturation, and overload observable.
Key Changes
- PacketProcessor is now asynchronous (worker thread + queue)
- Bounded admission (
MAX_QUEUE_SIZE = 1024) - Explicit overload signal:
QueueOverflow - New observability metrics:
- ingress_packets
- processed_packets
- processing_gap
- drops (by reason)
Why it matters
The system can now:
- accumulate backlog
- expose pressure
- signal overload explicitly
Previously, overload was hidden as callback latency.
Design Notes
- See: docs/v1.8.4-bounded-async-packet-processing.md
- Related: docs/v1.8.2-packet-telemetry.md
Status
This is a foundational architectural change enabling future:
- backpressure policies
- scheduling strategies
- switching logic (v1.9)