| Index: net/quic/quic_unacked_packet_map.cc
|
| diff --git a/net/quic/quic_unacked_packet_map.cc b/net/quic/quic_unacked_packet_map.cc
|
| index dddb1f99ee26670a13651aef6cc7c8f8069f97a4..59465dd2c089c77dd2d7140d1076f5291910d224 100644
|
| --- a/net/quic/quic_unacked_packet_map.cc
|
| +++ b/net/quic/quic_unacked_packet_map.cc
|
| @@ -123,7 +123,7 @@ void QuicUnackedPacketMap::TransferRetransmissionInfo(
|
| // encryption changes.
|
| if (transmission_type == ALL_INITIAL_RETRANSMISSION ||
|
| transmission_type == ALL_UNACKED_RETRANSMISSION) {
|
| - RemoveAckability(transmission_info);
|
| + transmission_info->is_unackable = true;
|
| } else {
|
| transmission_info->retransmission = new_packet_number;
|
| }
|
| @@ -165,12 +165,6 @@ void QuicUnackedPacketMap::RemoveRetransmittability(
|
| RemoveRetransmittability(info);
|
| }
|
|
|
| -void QuicUnackedPacketMap::RemoveAckability(TransmissionInfo* info) {
|
| - DCHECK(info->retransmittable_frames.empty());
|
| - DCHECK_EQ(0u, info->retransmission);
|
| - info->is_unackable = true;
|
| -}
|
| -
|
| void QuicUnackedPacketMap::MaybeRemoveRetransmittableFrames(
|
| TransmissionInfo* transmission_info) {
|
| if (transmission_info->has_crypto_handshake) {
|
| @@ -260,6 +254,15 @@ void QuicUnackedPacketMap::RemoveFromInFlight(QuicPacketNumber packet_number) {
|
| RemoveFromInFlight(info);
|
| }
|
|
|
| +void QuicUnackedPacketMap::RestoreToInFlight(QuicPacketNumber packet_number) {
|
| + DCHECK_GE(packet_number, least_unacked_);
|
| + DCHECK_LT(packet_number, least_unacked_ + unacked_packets_.size());
|
| + TransmissionInfo* info = &unacked_packets_[packet_number - least_unacked_];
|
| + DCHECK(!info->is_unackable);
|
| + bytes_in_flight_ += info->bytes_sent;
|
| + info->in_flight = true;
|
| +}
|
| +
|
| void QuicUnackedPacketMap::CancelRetransmissionsForStream(
|
| QuicStreamId stream_id) {
|
| QuicPacketNumber packet_number = least_unacked_;
|
|
|