qlog: log sent Version Negotiation packets

This commit is contained in:
Marten Seemann
2024-02-02 17:27:44 +07:00
parent 3a7a53fdb9
commit aff90a6ffa
3 changed files with 53 additions and 2 deletions

View File

@@ -17,8 +17,20 @@ func NewTracer(w io.WriteCloser) *logging.Tracer {
wr := *newWriter(w, tr)
go wr.Run()
return &logging.Tracer{
SentPacket: nil,
SentVersionNegotiationPacket: nil,
SentPacket: nil,
SentVersionNegotiationPacket: func(_ net.Addr, dest, src logging.ArbitraryLenConnectionID, versions []logging.VersionNumber) {
ver := make([]versionNumber, len(versions))
for i, v := range versions {
ver[i] = versionNumber(v)
}
wr.RecordEvent(time.Now(), &eventVersionNegotiationSent{
Header: packetHeaderVersionNegotiation{
SrcConnectionID: src,
DestConnectionID: dest,
},
SupportedVersions: ver,
})
},
DroppedPacket: func(addr net.Addr, p logging.PacketType, count logging.ByteCount, reason logging.PacketDropReason) {
wr.RecordEvent(time.Now(), eventPacketDropped{
PacketType: p,