summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-07-05 19:00:03 +0200
committerSander Vrijders <sander@ouroboros.rocks>2026-07-19 11:44:36 +0200
commit37fed06ef3f9ee395c671d91b3312679aeb4e6f1 (patch)
tree4dce3c7f9a319d9aa18edecf170cb16e7f588518 /cmake
parentd050aea4cd892d71ed7fc78b6c6149a7231db5fc (diff)
downloadouroboros-37fed06ef3f9ee395c671d91b3312679aeb4e6f1.tar.gz
ouroboros-37fed06ef3f9ee395c671d91b3312679aeb4e6f1.zip
ipcpd: Add congestion avoidance unit tests
Cover the shared per-aggregate contexts, the mb-ecn policy and the link capacity estimator. The controller tests pin the invariants of the algorithm: the first mark is reported immediately, the receiver's congestion mean is independent of packet rate and its window adapts to hold a fixed sample count, increase and decrease are invariant under control cadence, a starved sender still cuts and later recovers, signals age out on rate-relative horizons, capacity feedback derives the rate floor and recovery slope with clamps and a staleness fallback, and the pacer bounds the burst after idle. The estimator tests drive synthetic arrival traces: the capacity code survives a round trip within its resolution, hops combine by MIN, busy-period drain measures the link rate, windows extend on slow links, sparse idle observations are tolerated where unsaturated windows are rejected, shaped links measure at the shaped rate, stale windows are discarded, and windows bordering an empty queue can only lower the estimate. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'cmake')
0 files changed, 0 insertions, 0 deletions