forked from quic-go/quic-go
correct the bytes in flight when dropping crypto packets
This commit is contained in:
@@ -114,6 +114,9 @@ func (h *sentPacketHandler) SetHandshakeComplete() {
|
||||
for _, pnSpace := range []*packetNumberSpace{h.initialPackets, h.handshakePackets} {
|
||||
var cryptoPackets []*Packet
|
||||
pnSpace.history.Iterate(func(p *Packet) (bool, error) {
|
||||
if p.includedInBytesInFlight {
|
||||
h.bytesInFlight -= p.Length
|
||||
}
|
||||
cryptoPackets = append(cryptoPackets, p)
|
||||
return true, nil
|
||||
})
|
||||
|
||||
@@ -860,11 +860,13 @@ var _ = Describe("SentPacketHandler", func() {
|
||||
p := ackElicitingPacket(&Packet{PacketNumber: i, EncryptionLevel: protocol.EncryptionHandshake})
|
||||
handler.SentPacket(p)
|
||||
}
|
||||
Expect(handler.bytesInFlight).ToNot(BeZero())
|
||||
handler.queuePacketForRetransmission(getPacket(1, protocol.EncryptionInitial), handler.getPacketNumberSpace(protocol.EncryptionInitial))
|
||||
handler.queuePacketForRetransmission(getPacket(3, protocol.EncryptionHandshake), handler.getPacketNumberSpace(protocol.EncryptionHandshake))
|
||||
handler.SetHandshakeComplete()
|
||||
Expect(handler.initialPackets.history.Len()).To(BeZero())
|
||||
Expect(handler.handshakePackets.history.Len()).To(BeZero())
|
||||
Expect(handler.bytesInFlight).To(BeZero())
|
||||
packet := handler.DequeuePacketForRetransmission()
|
||||
Expect(packet).To(BeNil())
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user