fix recording of sent and lost frames for quic-trace

This commit is contained in:
Marten Seemann
2019-11-18 12:50:16 +08:00
parent c5b76e4f86
commit da996f8066
2 changed files with 11 additions and 5 deletions

View File

@@ -385,15 +385,18 @@ func (h *sentPacketHandler) detectLostPackets(
}
pnSpace.history.Remove(p.PacketNumber)
if h.traceCallback != nil {
// TODO: trace frames
frames := make([]wire.Frame, 0, len(p.Frames))
for _, f := range p.Frames {
frames = append(frames, f.Frame)
}
h.traceCallback(quictrace.Event{
Time: now,
EventType: quictrace.PacketLost,
EncryptionLevel: p.EncryptionLevel,
PacketNumber: p.PacketNumber,
PacketSize: p.Length,
//Frames: p.Frames,
TransportState: h.GetStats(),
Frames: frames,
TransportState: h.GetStats(),
})
}
}

View File

@@ -1229,6 +1229,10 @@ func (s *session) sendPackedPacket(packet *packedPacket) {
s.firstAckElicitingPacketAfterIdleSentTime = time.Now()
}
if s.traceCallback != nil {
frames := make([]wire.Frame, 0, len(packet.frames))
for _, f := range packet.frames {
frames = append(frames, f.Frame)
}
s.traceCallback(quictrace.Event{
Time: time.Now(),
EventType: quictrace.PacketSent,
@@ -1236,8 +1240,7 @@ func (s *session) sendPackedPacket(packet *packedPacket) {
EncryptionLevel: packet.EncryptionLevel(),
PacketNumber: packet.header.PacketNumber,
PacketSize: protocol.ByteCount(len(packet.raw)),
// TODO: trace frames
// Frames: packet.frames,
Frames: frames,
})
}
s.logPacket(packet)