qlog: split serializiation and event definitions, remove logging abstraction (#5356)

* qlog: implement a Trace and a Writer struct

* qlog: rename Trace to FileSeq

* split qlog trace writer and QUIC qlog events into separate packages

* use the new qlog.Recorder instead of the logging.ConnectionTracer
This commit is contained in:
Marten Seemann
2025-10-08 11:53:02 +08:00
committed by GitHub
parent c9d3778fe0
commit c2131eb595
90 changed files with 5146 additions and 7787 deletions

View File

@@ -16,7 +16,8 @@ import (
"github.com/quic-go/quic-go"
quicproxy "github.com/quic-go/quic-go/integrationtests/tools/proxy"
"github.com/quic-go/quic-go/internal/protocol"
"github.com/quic-go/quic-go/logging"
"github.com/quic-go/quic-go/qlog"
"github.com/quic-go/quic-go/qlogwriter"
"github.com/stretchr/testify/require"
)
@@ -256,7 +257,7 @@ func TestTimeoutAfterInactivity(t *testing.T) {
getTLSClientConfig(),
getQuicConfig(&quic.Config{
MaxIdleTimeout: idleTimeout,
Tracer: newTracer(tr),
Tracer: func(context.Context, bool, quic.ConnectionID) qlogwriter.Trace { return tr },
DisablePathMTUDiscovery: true,
}),
)
@@ -274,7 +275,7 @@ func TestTimeoutAfterInactivity(t *testing.T) {
for _, p := range counter.getSentShortHeaderPackets() {
var hasAckElicitingFrame bool
for _, f := range p.frames {
if _, ok := f.(*logging.AckFrame); ok {
if _, ok := f.Frame.(qlog.AckFrame); ok {
continue
}
hasAckElicitingFrame = true