commit | 3fb40b6cf7aa6c01ea70918217b1b20518799b50 | [log] [tgz] |
---|---|---|
author | dschinazi <dschinazi@google.com> | Wed Jun 11 13:34:29 2025 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Jun 11 13:35:22 2025 -0700 |
tree | 272c986584d53f9becbefd7316ad2262694545da | |
parent | 5bbd514fd19bf1295930172030fafeaadda18c45 [diff] |
Allow connect-udp to work across connection ID changes Prior to this CL, the MASQUE backend code would use the QUIC connection ID as a key into a hashtable. Back when this was written, the CID of a QUIC connection was stable for the lifetime of the connection, so this worked. Since then, we've now added support for evolving CIDs, so this code no longer worked when interoperating with implementations that aggressively retire CIDs. This CL fixes that by using a vector instead of a hashtable, and comparing pointers instead of performing a CID lookup. PiperOrigin-RevId: 770297284
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.