calculate NACK ranges in the correct order expected by the ACK frame writer

fixes #43
This commit is contained in:
Marten Seemann 2016-05-03 18:31:02 +07:00
parent 6700672440
commit 08d96d2a69
2 changed files with 8 additions and 14 deletions

View file

@ -67,7 +67,7 @@ func (h *receivedPacketHandler) getNackRanges() ([]frames.NackRange, EntropyAccu
var ranges []frames.NackRange
inRange := false
entropy := h.highestInOrderObservedEntropy
for i := h.highestInOrderObserved + 1; i <= h.largestObserved; i++ {
for i := h.largestObserved; i > h.highestInOrderObserved; i-- {
entropyBit, ok := h.packetHistory[i]
if !ok {
if !inRange {
@ -78,7 +78,7 @@ func (h *receivedPacketHandler) getNackRanges() ([]frames.NackRange, EntropyAccu
ranges = append(ranges, r)
inRange = true
} else {
ranges[len(ranges)-1].LastPacketNumber++
ranges[len(ranges)-1].FirstPacketNumber--
}
} else {
inRange = false