commit | 200d4708860fcb5f5510092b24391072901e7f17 | [log] [tgz] |
---|---|---|
author | martinduke <martinduke@google.com> | Wed Nov 13 15:27:05 2024 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Nov 13 15:28:07 2024 -0800 |
tree | a4e79fad2d995a64d18b6708a66421672749a557 | |
parent | 571f4ec55061f73ae6b7557a26b582bce09c8acc [diff] |
Update ECN tests to function properly in Guitar. cl/695874210, while deprecating the previous flag protection for send-side ECN, identified a particular block of code as relatively high-risk and so protected it with flag quic_preserve_dscp_with_ecn. Unfortunately, the code that executes when this flag is false does not correctly set the ECN bits when a test is running on Guitar (which uses GOOGLE_IP_TOS), causing failures. This CL deletes the flag, and protects the entire code block by only executing it when packet_info.ecn_codepoint is not NOT_ECT (which never happens in production today). Tests now pass in Guitar. PiperOrigin-RevId: 696290469
QUICHE stands for QUIC, Http, Etc. It is Google‘s production-ready implementation of QUIC, HTTP/2, HTTP/3, and related protocols and tools. It powers Google’s servers, Chromium, Envoy, and other projects. It is actively developed and maintained.
There are two public QUICHE repositories. Either one may be used by embedders, as they are automatically kept in sync:
To embed QUICHE in your project, platform APIs need to be implemented and build files need to be created. Note that it is on the QUICHE team's roadmap to include default implementation for all platform APIs and to open-source build files. In the meanwhile, take a look at open source embedders like Chromium and Envoy to get started:
To contribute to QUICHE, follow instructions at CONTRIBUTING.md.
QUICHE is only supported on little-endian platforms.