]> git.feebdaed.xyz Git - 0xmirror/quic-go.git/commitdiff
qlogwriter: fix storing of event schemas (#5430)
authorMarten Seemann <martenseemann@gmail.com>
Fri, 14 Nov 2025 08:44:33 +0000 (16:44 +0800)
committerGitHub <noreply@github.com>
Fri, 14 Nov 2025 08:44:33 +0000 (09:44 +0100)
HTTP/3 qlogging (and qlogging for any other application protocol) only
works if the event schemas are stored.

qlogwriter/trace_test.go
qlogwriter/writer.go

index 69d018b1cfbd470183245afb89b72ddd13f763a6..cae4d203f87dc49c64289d434523ecbf942e9852 100644 (file)
@@ -59,6 +59,11 @@ func TestTraceMetadata(t *testing.T) {
                        protocol.ParseConnectionID([]byte{0xde, 0xad, 0xbe, 0xef}),
                        []string{"urn:ietf:params:qlog:events:foo", "urn:ietf:params:qlog:events:bar"},
                )
+
+               require.False(t, trace.SupportsSchemas("urn:ietf:params:qlog:events:baz"))
+               require.True(t, trace.SupportsSchemas("urn:ietf:params:qlog:events:foo"))
+               require.True(t, trace.SupportsSchemas("urn:ietf:params:qlog:events:bar"))
+
                go trace.Run()
                producer := trace.AddProducer()
                producer.Close()
index 390039d6158cde94dd71fa6ce8a4c9c0c433efb5..c2921d91d7435c4edbffaf284f6588cbd6800ab5 100644 (file)
@@ -115,6 +115,7 @@ func newFileSeq(w io.WriteCloser, pers string, odcid *ConnectionID, eventSchemas
                runStopped:    make(chan struct{}),
                encodeErr:     encodeErr,
                events:        make(chan event, eventChanSize),
+               eventSchemas:  eventSchemas,
        }
 }