Draft: draft-ietf-quic-qlog-quic-events

Commentary: This will still need a bit of work , but succeeds ( as long as I insert the definitions for and for from the main document ) . I 'm not 100 % sure if that means that my definitions are ok , as CDDL just tells me that almost all of the rules are unused . There are a few TODOs left ( search the doc for TODO ) , which we probably want to resolve before merging this PR . your opinion on those would be highly appreciated . 
 Hello Thanks for this . As you surmised however , there were indeed still quite a few problems with the first attempt that I tried to solve with my new commit . Primarily , you were indeed not properly checking your CDDL definitions . The CDDL tool does n't properly validate " unused " rules ( only does high - level syntax checking , but no CDDL semantics ) which are like ... almost all of them :( had and he eventually solved it by generating stubs for the unused rules with . I 've gone and changed that script minimally to work for the quic draft as well . You can find my version here : Doing that highlighted a few omissions ( e.g. , no definitions for ConnectionID / Owner / QuicVersion / uint16/ ... ) which I ( or will add in the main schema ) . It also showed you were not using the correct syntax to create the trigger lists ( not using the / concatenation operator ) . For some reason this is valid overall CDDL syntax , but it generates bogus JSON results and does n't work well in many situations . I 've updated all those as well . I was also able to resolve your 3 TODO 's in ( I think ) a satisfactory way . Please validate my proposed solution for those . Finally , to prevent global CDDL name collisions , we 've been adding the category name in front of each event name ( so TransportParametersSet instead of just ParametersSet ) . I 've done that for all the events here as well . Similarly , we should add an ID to each CDDL block ( e.g. , ) to aid in later automated extraction / code generation . I 've those as well . The latest version generates properly with the CDDL tool ( using the gist script above ) and also passes the id - nits check builtin to the draft make command . To me , this is ready to submit as a new draft by Monday . Please review and let me know if you detect any more issues
Paragraph (version A):
The examples and data definitions in ths document are expressed in a
custom data definition language, inspired by JSON and TypeScript, and
described in QLOG-MAIN.
Paragraph (version B):
The event and data structure definitions in ths document are
expressed in the Concise Data Definition Language CDDL and its
extensions described in QLOG-MAIN.
Paragraph (version A):
Data: ~~~ { packet_number_space?:PacketNumberSpace,
Paragraph (version A):
Note: to make logging easier, implementations MAY log values even if
they are the same as previously reported values (e.g., two subsequent
METRIC_UPDATE entries can both report the exact same value for
min_rtt).  However, applications SHOULD try to log only actual
updates to values.
Paragraph (version B):
Note: to make logging easier, implementations MAY log values even if
they are the same as previously reported values (e.g., two subsequent
RecoveryMetricsUpdated entries can both report the exact same value
for min_rtt).  However, applications SHOULD try to log only actual
updates to values.
Paragraph (version A):
"reordering_threshold",