Closed rmarx closed 5 months ago
TODO for myself: we also need to make PacketHeader extensible (e.g., to be able to add lossbits, new fields for QUIC v3 etc.). Same for PacketType and PacketNumberSpace (TODO: also double-check others)
Did some final work on this today. Should be ready for final review + merge @LPardue @marten-seemann
A note: as mentioned in the original PR message, this intentionally does NOT make QUIC Stream Type (uni vs bidi) extensible, since that's not supported by v1 and would require quite a different approach (though not really wire image changes I guess?). So still not sure if we should include this or not... would welcome some thoughts ;)
Fixes #379. Also closes https://github.com/quicwg/qlog/issues/261, https://github.com/quicwg/qlog/issues/176, https://github.com/quicwg/qlog/issues/170, https://github.com/quicwg/qlog/issues/124, https://github.com/quicwg/qlog/issues/192, https://github.com/quicwg/qlog/issues/297.
Adds extensibility for all events through the
* $$category-name-ext
pattern first used in #400, now extended to ALL events as discussed in #379.Makes all official protocol extension points also extensible in qlog. This was mostly already the case except for a few holdouts ($H3StreamType, $ProtocolType, $TransportError). The full list currently is:
I don't think we need to make QUIC's StreamType extensible (since that's also in the RFC as always just uni- or bidirectional, with no way to change that through IANA (or even wire image, due to looking at the 2 LSBs)). Thoughts on this @LPardue ?