quicwg / qlog

The IETF I-D documents for the qlog format
Other
84 stars 12 forks source link

State clearly what lengths mean for stream and datagram data moved #395

Open LPardue opened 7 months ago

LPardue commented 7 months ago

Addresses part of #375

rmarx commented 7 months ago

As discussed during editorial meeting: I'm not the biggest fan of current text since it isn't clear for all the possible uses (e.g., transport to application strips QUIC level stuff but keeps H3 frame headers, while application to user also strips those out etc.). Maybe best to word it in terms of "only the payload is moved to the higher layer" or something like that?

LPardue commented 3 months ago

I'm not the biggest fan of current text since it isn't clear for all the possible uses (e.g., transport to application strips QUIC level stuff but keeps H3 frame headers, while application to user also strips those out etc.).

This is the QUIC document, so the intent of the proposed text

There are no packet or frame headers and length values in the length or raw fields MUST reflect that.

is that it is solely in the scope of QUIC packets.

Now you mention it, I don't actually think the user location is suitable for the $DataLocation type. QUIC streams and datagrams don't mean anything without an application protocol. And how an application protocol uses them is specific to its definition. To use HTTP/3 as an example, I'm never going to pass QUIC stream or datagram data directly to a user. I'm going to pass them:

There are HTTP/3 qlog events for each of these.

Even an extension like WebTransport is going to pass WebTransport stream data, not raw QUIC. In which case, qlog for that extension should probably definine its own event type too.