| 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 0085f901fad62fd24b6f2fd99cde9e832bfbf9f9..0bc3af5ca1d8523e9fec8ff9928e135c3b36b2f6 100644
|
| --- a/net/quic/quic_sent_packet_manager.cc
|
| +++ b/net/quic/quic_sent_packet_manager.cc
|
| @@ -337,7 +337,11 @@ void QuicSentPacketManager::MarkPacketRevived(
|
| sequence_number, delta_largest_observed);
|
| }
|
|
|
| - unacked_packets_.NeuterIfPendingOrRemovePacket(sequence_number);
|
| + if (!transmission_info.pending) {
|
| + unacked_packets_.RemovePacket(sequence_number);
|
| + } else {
|
| + unacked_packets_.NeuterPacket(sequence_number);
|
| + }
|
| }
|
|
|
| QuicUnackedPacketMap::const_iterator QuicSentPacketManager::MarkPacketHandled(
|
| @@ -372,6 +376,8 @@ QuicUnackedPacketMap::const_iterator QuicSentPacketManager::MarkPacketHandled(
|
| unacked_packets_.GetTransmissionInfo(newest_transmission));
|
| while (all_transmissions_it != all_transmissions.rend()) {
|
| QuicPacketSequenceNumber previous_transmission = *all_transmissions_it;
|
| + const TransmissionInfo& transmission_info =
|
| + unacked_packets_.GetTransmissionInfo(previous_transmission);
|
| // If this packet was marked for retransmission, don't bother retransmitting
|
| // it anymore.
|
| pending_retransmissions_.erase(previous_transmission);
|
| @@ -380,7 +386,11 @@ QuicUnackedPacketMap::const_iterator QuicSentPacketManager::MarkPacketHandled(
|
| // since they won't be acked now that one has been processed.
|
| unacked_packets_.SetNotPending(previous_transmission);
|
| }
|
| - unacked_packets_.NeuterIfPendingOrRemovePacket(previous_transmission);
|
| + if (!transmission_info.pending) {
|
| + unacked_packets_.RemovePacket(previous_transmission);
|
| + } else {
|
| + unacked_packets_.NeuterPacket(previous_transmission);
|
| + }
|
| ++all_transmissions_it;
|
| }
|
|
|
| @@ -591,7 +601,7 @@ void QuicSentPacketManager::InvokeLossDetection(QuicTime time) {
|
| // unacked_packets_. This is either the current transmission of
|
| // a packet whose previous transmission has been acked, or it
|
| // is a packet that has been TLP retransmitted.
|
| - unacked_packets_.NeuterIfPendingOrRemovePacket(sequence_number);
|
| + unacked_packets_.RemovePacket(sequence_number);
|
| }
|
| }
|
| }
|
|
|