Skip to content

Commit

Permalink
Align terminology across $ProtocolEvent extension point (#352)
Browse files Browse the repository at this point in the history
As discussed on #131, there's a slight mismatch of terminology
between the main $ProtocolEventBody and the extensions QUICEvents
and H3Events.

This change implements the proposal to align the terms.

Close #131
  • Loading branch information
LPardue authored Dec 19, 2023
1 parent 3398abe commit cd828a3
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 58 deletions.
26 changes: 13 additions & 13 deletions draft-ietf-quic-qlog-h3-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,22 +143,22 @@ in this specification.

# HTTP/3 Events {#h3-ev}

HTTP/3 events extend the `$ProtocolEventBody` extension point defined in {{QLOG-MAIN}}.
HTTP/3 events extend the `$ProtocolEventData` extension point defined in {{QLOG-MAIN}}.

~~~ cddl
H3Events = H3ParametersSet /
H3ParametersRestored /
H3StreamTypeSet /
H3PriorityUpdated /
H3FrameCreated /
H3FrameParsed /
H3DatagramCreated /
H3DatagramParsed /
H3PushResolved

$ProtocolEventBody /= H3Events
H3EventData = H3ParametersSet /
H3ParametersRestored /
H3StreamTypeSet /
H3PriorityUpdated /
H3FrameCreated /
H3FrameParsed /
H3DatagramCreated /
H3DatagramParsed /
H3PushResolved

$ProtocolEventData /= H3EventData
~~~
{: #h3-events-def title="H3Events definition and ProtocolEventBody
{: #h3-events-def title="H3EventData definition and ProtocolEventData
extension"}

HTTP events are logged when a certain condition happens at the application
Expand Down
20 changes: 10 additions & 10 deletions draft-ietf-quic-qlog-main-schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -509,7 +509,7 @@ An Event is defined in {{event-def}} as:
Event = {
time: float64
name: text
data: $ProtocolEventBody
data: $ProtocolEventData
? time_format: TimeFormat
? protocol_type: ProtocolType
? group_id: GroupID
Expand Down Expand Up @@ -659,28 +659,28 @@ field value definitions for QUIC and HTTP/3 can be found in {{QLOG-QUIC}} and
{{QLOG-H3}}.

This field is defined here as a CDDL extension point (a "socket" or
"plug") named `$ProtocolEventBody`. Other documents MUST properly extend
"plug") named `$ProtocolEventData`. Other documents MUST properly extend
this extension point when defining new data field content options to
enable automated validation of aggregated qlog schemas.

The only common field defined for the data field is the `trigger` field,
which is discussed in {{trigger-field}}.

~~~ cddl
; The ProtocolEventBody is any key-value map (e.g., JSON object)
; The ProtocolEventData is any key-value map (e.g., JSON object)
; only the optional trigger field is defined in this document
$ProtocolEventBody /= {
$ProtocolEventData /= {
? trigger: text
* text => any
}
; event documents are intended to extend this socket by using:
; NewProtocolEvents = EventType1 /
; EventType2 /
; ... /
; EventTypeN
; $ProtocolEventBody /= NewProtocolEvents
; NewProtocolEventData = EventType1 /
; EventType2 /
; ... /
; EventTypeN
; $ProtocolEventData /= NewProtocolEventData
~~~
{: #protocoleventbody-def title="ProtocolEventBody definition"}
{: #protocoleventdata-def title="ProtocolEventData definition"}

One purely illustrative example for a QUIC "packet_sent" event is shown in
{{data-ex}}:
Expand Down
70 changes: 35 additions & 35 deletions draft-ietf-quic-qlog-quic-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,44 +202,44 @@ this specification.
| recovery:ecn_state_updated | Extra | {{recovery-ecnstateupdated}} |
{: #quic-events title="QUIC Events"}

QUIC events extend the `$ProtocolEventBody` extension point defined in
QUIC events extend the `$ProtocolEventData` extension point defined in
{{QLOG-MAIN}}.

~~~ cddl
QuicEvents = ConnectivityServerListening /
ConnectivityConnectionStarted /
ConnectivityConnectionClosed /
ConnectivityConnectionIDUpdated /
ConnectivitySpinBitUpdated /
ConnectivityConnectionStateUpdated /
ConnectivityMTUUpdated /
SecurityKeyUpdated /
SecurityKeyDiscarded /
QUICVersionInformation /
QUICALPNInformation /
QUICParametersSet /
QUICParametersRestored /
QUICPacketSent /
QUICPacketReceived /
QUICPacketDropped /
QUICPacketBuffered /
QUICPacketsAcked /
QUICDatagramsSent /
QUICDatagramsReceived /
QUICDatagramDropped /
QUICStreamStateUpdated /
QUICFramesProcessed /
QUICStreamDataMoved /
QUICDatagramDataMoved /
RecoveryParametersSet /
RecoveryMetricsUpdated /
RecoveryCongestionStateUpdated /
RecoveryLossTimerUpdated /
RecoveryPacketLost

$ProtocolEventBody /= QuicEvents
~~~
{: #quicevents-def title="QuicEvents definition and ProtocolEventBody
QuicEventData = ConnectivityServerListening /
ConnectivityConnectionStarted /
ConnectivityConnectionClosed /
ConnectivityConnectionIDUpdated /
ConnectivitySpinBitUpdated /
ConnectivityConnectionStateUpdated /
ConnectivityMTUUpdated /
SecurityKeyUpdated /
SecurityKeyDiscarded /
QUICVersionInformation /
QUICALPNInformation /
QUICParametersSet /
QUICParametersRestored /
QUICPacketSent /
QUICPacketReceived /
QUICPacketDropped /
QUICPacketBuffered /
QUICPacketsAcked /
QUICDatagramsSent /
QUICDatagramsReceived /
QUICDatagramDropped /
QUICStreamStateUpdated /
QUICFramesProcessed /
QUICStreamDataMoved /
QUICDatagramDataMoved /
RecoveryParametersSet /
RecoveryMetricsUpdated /
RecoveryCongestionStateUpdated /
RecoveryLossTimerUpdated /
RecoveryPacketLost

$ProtocolEventData /= QuicEventData
~~~
{: #quicevent-data-def title="QuicEventData definition and ProtocolEventData
extension"}

# Connectivity events {#conn-ev}
Expand Down

0 comments on commit cd828a3

Please sign in to comment.