dequeue all retransmission when sending a packet

This commit is contained in:
Marten Seemann
2016-06-06 12:04:02 +07:00
parent 6b6fea94ec
commit 3f86e0f198
3 changed files with 77 additions and 13 deletions

View File

@@ -478,9 +478,11 @@ func (s *Session) sendPacket() error {
var controlFrames []frames.Frame
// check for retransmissions first
// TODO: handle multiple packets retransmissions
retransmitPacket := s.sentPacketHandler.DequeuePacketForRetransmission()
if retransmitPacket != nil {
for {
retransmitPacket := s.sentPacketHandler.DequeuePacketForRetransmission()
if retransmitPacket == nil {
break
}
utils.Debugf("\tDequeueing retransmission for packet 0x%x", retransmitPacket.PacketNumber)
s.stopWaitingManager.RegisterPacketForRetransmission(retransmitPacket)
// resend the frames that were in the packet