|
|
|
@ -897,7 +897,7 @@ namespace transport
@@ -897,7 +897,7 @@ namespace transport
|
|
|
|
|
if (*ranges > lastPacketNum) break; |
|
|
|
|
lastPacketNum -= *ranges; ranges++; // nacks
|
|
|
|
|
if (*ranges > lastPacketNum) break; |
|
|
|
|
firstPacketNum -= *ranges; ranges++; // acks
|
|
|
|
|
firstPacketNum = lastPacketNum - *ranges; ranges++; // acks
|
|
|
|
|
len -= 2; |
|
|
|
|
HandleAckRange (firstPacketNum, lastPacketNum); |
|
|
|
|
} |
|
|
|
@ -905,6 +905,7 @@ namespace transport
@@ -905,6 +905,7 @@ namespace transport
|
|
|
|
|
|
|
|
|
|
void SSU2Session::HandleAckRange (uint32_t firstPacketNum, uint32_t lastPacketNum) |
|
|
|
|
{ |
|
|
|
|
if (firstPacketNum > lastPacketNum) return; |
|
|
|
|
auto it = m_SentPackets.begin (); |
|
|
|
|
while (it != m_SentPackets.end () && it->first < firstPacketNum) it++; // find first acked packet
|
|
|
|
|
if (it == m_SentPackets.end ()) return; // not found
|
|
|
|
|