Open Source · BSD-3-Clause · C++17 · RFC 9000 / 9369 / 9114
From the UDP socket to the HTTP/3 handler,
a self-contained QUIC stack
Production-grade robustness, engineered for readability. A single repository implementing TLS 1.3, the QUIC transport, HTTP/3 routing and QPACK — with no external HTTP framework. Public API follows semantic versioning since 1.0.
Why QuicX
Production-Grade Robustness
1523 unit and integration tests; ASan / UBSan / TSan all green on every release.
Proven Interoperability
Validated against 17 major QUIC implementations across a 24-scenario matrix, 90.60% passing.
Engineered for Readability
Every layer from NIC to HTTP/3, with an 11-stop guided source tour — debugging and hacking made easy.
Batteries Included
hello_world, file transfer, server push, load testing — 18 ready-to-run examples, CMake & Bazel.
Interoperability, scenario by scenario
A 24-scenario interop matrix run against 17 major QUIC implementations — handshakes, migration, congestion control and connection close, each verified individually. The 90.60% pass rate is recorded and reproducible.
Not a self-declaration — a reproducible test matrix.
See the interop matrix →Single Process · Five Modules
Requests flow top to bottom: user handler → HTTP/3 Connection / QPACK / Router → QUIC stream & congestion control → common networking → UDP out of the NIC. The dashed line marks the browser-side reconnect hop after receiving Alt-Svc.
HTTP/3 in four lines
One lambda is one handler. The real hello_world — no registration code omitted.
auto server = quicx::IServer::Create();
server->AddHandler(quicx::HttpMethod::kGet, "/hello",
[](std::shared_ptr<quicx::IRequest> req,
std::shared_ptr<quicx::IResponse> resp) {
resp->AppendBody(std::string("hello world"));
resp->SetStatusCode(200);
});
server->Init(config);
server->Start("0.0.0.0", 7001); // HTTP/3 on the wiregit clone --recurse-submodules https://github.com/caozhiyi/quicX.git
cd quicX
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=ON
cmake --build build --parallel $(nproc)git clone --recurse-submodules https://github.com/caozhiyi/quicX.git
cd quicX
# build every target (library + all 18 examples)
bazel build //...
# run the full unit-test suite
bazel test //test/...The build ships all 18 examples — start with example/hello_world.