quicwg / qlog

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

Make Parameters events extensible #400

Closed rmarx closed 4 months ago

rmarx commented 4 months ago

Fixes #176.

This uses CDDL's "group socket" (https://datatracker.ietf.org/doc/html/rfc8610#section-3.9) to allow others to later specify additional parameters that can be logged to the event in a typed/explicit way.

Example in a later document (say for reliable stream resets):

$$quic-parametersset-extension //= (
  reliable_stream_reset: text
)

One conceptual "downside" is that by definition all fields in the extension will be optional, even if not preceded by a ? (as in the example above). This is because the extension isn't yet known when processing the current definition, so it has to be either ? (optional) or * (0 or more, which is used here as it's recommended by RFC8610). I don't see this as a major issue, but something to be aware of.