forked from quic-go/quic-go
qlog: add support for ACK_FREQUENCY and IMMEDIATE_ACK frames (#5276)
This commit is contained in:
@@ -59,6 +59,10 @@ func (f frame) MarshalJSONObject(enc *gojay.Encoder) {
|
||||
marshalHandshakeDoneFrame(enc, frame)
|
||||
case *logging.DatagramFrame:
|
||||
marshalDatagramFrame(enc, frame)
|
||||
case *logging.AckFrequencyFrame:
|
||||
marshalAckFrequencyFrame(enc, frame)
|
||||
case *logging.ImmediateAckFrame:
|
||||
marshalImmediateAckFrame(enc, frame)
|
||||
default:
|
||||
panic("unknown frame type")
|
||||
}
|
||||
@@ -232,3 +236,15 @@ func marshalDatagramFrame(enc *gojay.Encoder, f *logging.DatagramFrame) {
|
||||
enc.StringKey("frame_type", "datagram")
|
||||
enc.Int64Key("length", int64(f.Length))
|
||||
}
|
||||
|
||||
func marshalAckFrequencyFrame(enc *gojay.Encoder, f *logging.AckFrequencyFrame) {
|
||||
enc.StringKey("frame_type", "ack_frequency")
|
||||
enc.Uint64Key("sequence_number", f.SequenceNumber)
|
||||
enc.Uint64Key("ack_eliciting_threshold", f.AckElicitingThreshold)
|
||||
enc.Float64Key("request_max_ack_delay", milliseconds(f.RequestMaxAckDelay))
|
||||
enc.Uint64Key("reordering_threshold", uint64(f.ReorderingThreshold))
|
||||
}
|
||||
|
||||
func marshalImmediateAckFrame(enc *gojay.Encoder, _ *logging.ImmediateAckFrame) {
|
||||
enc.StringKey("frame_type", "immediate_ack")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user