Index: net/quic/quic_sent_packet_manager.cc |
diff --git a/net/quic/quic_sent_packet_manager.cc b/net/quic/quic_sent_packet_manager.cc |
index 6dc30a5f9ff5f1a2170f42caa7c93b3b72b22b47..97214f3788edcb2a4b2b29d026bca6b6875687d3 100644 |
--- a/net/quic/quic_sent_packet_manager.cc |
+++ b/net/quic/quic_sent_packet_manager.cc |
@@ -261,8 +261,14 @@ void QuicSentPacketManager::NeuterUnencryptedPackets() { |
// they are not retransmitted or considered lost from a congestion control |
// perspective. |
pending_retransmissions_.erase(it->first); |
- unacked_packets_.NeuterPacket(it->first); |
unacked_packets_.SetNotPending(it->first); |
+ // TODO(ianswett): Clean this up so UnackedPacketMap maintains the correct |
+ // invariants between the various transmissions for NeuterPacket. |
+ SequenceNumberSet all_transmissions = *it->second.all_transmissions; |
+ for (SequenceNumberSet::const_iterator all_it = all_transmissions.begin(); |
+ all_it != all_transmissions.end(); ++all_it) { |
+ unacked_packets_.NeuterPacket(*all_it); |
+ } |
} |
} |
} |