An educational C++20 project for measuring and improving communication across high-latency, lossy, and asymmetric networks.
The project is developed in independently measurable phases. Phase 1 provides a reproducible Linux WAN laboratory and verified direct-TCP baselines. Phase 2 adds a plain paired TCP relay over server-authenticated TLS. Phase 2 is a correctness and comparison baseline; it is not yet a real accelerator.
- Development blueprint
- Phase 1 laboratory guide
- Phase 1 baseline results
- Phase 2 relay lab
- Phase 2 baseline results
- Chronological development log
cmake -S . -B build
cmake --build build
ctest --test-dir build --output-on-failureBuild dependencies are a C++20 compiler, CMake, OpenSSL development headers, and
POSIX threads. Runtime lab dependencies are Linux, Bash, iproute2 (ip, tc),
jq, Python 3, and root access for network namespaces and queue disciplines.
In one terminal:
./build/accelerator-bench server --listen 127.0.0.1 --runs 1In another:
./build/accelerator-bench client \
--host 127.0.0.1 \
--bytes 1048576 \
--profile loopbackA successful result contains "verified":true. See the Phase 1 guide before
interpreting performance numbers.
Generate throwaway local certificates:
./scripts/make-dev-certs.shThen run the loopback relay validation:
./scripts/test-phase2.shThis starts accelerator-bench, accelerator-egress, and
accelerator-ingress, then sends a deterministic payload through the TLS relay.