blog: post about turning QUIC frames into datagrams#494
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| Each packet in the initial or handshake encryption level is a so-called "long header" packet which means it also has a length field indicating where the packet ends. | ||
| This allows us to put two packets prepended with their QUIC headers back-to-back into a datagram. | ||
|
|
||
| This does not work with the data encryption level. In that level the header doesn't contain a length field, presumably to save some bytes, as packet coalescing is pretty much only useful during the handshake and it's worth saving those bytes after the handshake when no coalescing happens instead. |
There was a problem hiding this comment.
With a nitpicking view this kind of mixes up encryption levels and packet types. The long header is a 1-RTT packet type. That is kind of orthogonal to the encryption level it goes in.
There was a problem hiding this comment.
Some clarification for what you're writing: "The long header is a 1-RTT packet type" This seems weird to me. Aren't 1-RTT packets using a short header?
In my mind "a {Initial,Handshake,1-RTT} packet" is shorthand for "a packet encrypted using the {Initital,Handshake,1-RTT} encryption level".
I guess it could be misunderstood for "a packet in the Initial packet number space" though - and then 1-RTT and "data" would disambiguate that somewhat.
My ramblings about QUIC