-
Notifications
You must be signed in to change notification settings - Fork 719
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
An HTTP/3 datagram is a series of fields carried in a QUIC DATAGRAM frame payload. In draft 00, draft 11 and RFC 9297 there is a single field, which is a variable-length integer. Previously, the h3 module provided support functions that were a thin shim over quiche's transport-layer datagram methods, which helped with the variable-length encoding of the first field in the HTTP/3 datagram. However, in the meantime we spun out the Octets crate, which allows applications to easily handle varints themselves. Furthermore, changes in specifications like CONNECT-UDP mean that applications are probably required to do additional processing of varint fields that might exist after the first field. At this stage, the h3 datagram API provides minimal utility and in the worst case is confusing for applications that would use it for different purposes. This change removes quiche::h3::send_dgram() and quiche::h3::recv_dgram() functions. Instead applications are now responsible for serialization / deserialization of HTTP/3 datagrams, with the recommendation being that they use the Octets crate. This is demonstrated by related changes to the apps. Since the Octets crate does not provide a C API itself, helper function have been added to quiche's C API to support varint handling.
- Loading branch information
Showing
13 changed files
with
135 additions
and
281 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.