| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/quic/core/quic_sent_packet_manager.h" | 5 #include "net/quic/core/quic_sent_packet_manager.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 // incoming_ack shows they've been seen by the peer. | 302 // incoming_ack shows they've been seen by the peer. |
| 303 QuicTime::Delta ack_delay_time = ack_frame.ack_delay_time; | 303 QuicTime::Delta ack_delay_time = ack_frame.ack_delay_time; |
| 304 QuicPacketNumber packet_number = unacked_packets_.GetLeastUnacked(); | 304 QuicPacketNumber packet_number = unacked_packets_.GetLeastUnacked(); |
| 305 for (QuicUnackedPacketMap::iterator it = unacked_packets_.begin(); | 305 for (QuicUnackedPacketMap::iterator it = unacked_packets_.begin(); |
| 306 it != unacked_packets_.end(); ++it, ++packet_number) { | 306 it != unacked_packets_.end(); ++it, ++packet_number) { |
| 307 if (packet_number > ack_frame.largest_observed) { | 307 if (packet_number > ack_frame.largest_observed) { |
| 308 // These packets are still in flight. | 308 // These packets are still in flight. |
| 309 break; | 309 break; |
| 310 } | 310 } |
| 311 | 311 |
| 312 if ((ack_frame.missing && ack_frame.packets.Contains(packet_number)) || | 312 if (!ack_frame.packets.Contains(packet_number)) { |
| 313 (!ack_frame.missing && !ack_frame.packets.Contains(packet_number))) { | |
| 314 // Packet is still missing. | 313 // Packet is still missing. |
| 315 continue; | 314 continue; |
| 316 } | 315 } |
| 317 // Packet was acked, so remove it from our unacked packet list. | 316 // Packet was acked, so remove it from our unacked packet list. |
| 318 DVLOG(1) << ENDPOINT << "Got an ack for packet " << packet_number; | 317 DVLOG(1) << ENDPOINT << "Got an ack for packet " << packet_number; |
| 319 // If data is associated with the most recent transmission of this | 318 // If data is associated with the most recent transmission of this |
| 320 // packet, then inform the caller. | 319 // packet, then inform the caller. |
| 321 if (it->in_flight) { | 320 if (it->in_flight) { |
| 322 packets_acked_.push_back(std::make_pair(packet_number, it->bytes_sent)); | 321 packets_acked_.push_back(std::make_pair(packet_number, it->bytes_sent)); |
| 323 } else if (!it->is_unackable) { | 322 } else if (!it->is_unackable) { |
| (...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1019 | 1018 |
| 1020 void QuicSentPacketManager::RemoveObsoletePackets() { | 1019 void QuicSentPacketManager::RemoveObsoletePackets() { |
| 1021 unacked_packets_.RemoveObsoletePackets(); | 1020 unacked_packets_.RemoveObsoletePackets(); |
| 1022 } | 1021 } |
| 1023 | 1022 |
| 1024 void QuicSentPacketManager::OnApplicationLimited() { | 1023 void QuicSentPacketManager::OnApplicationLimited() { |
| 1025 send_algorithm_->OnApplicationLimited(unacked_packets_.bytes_in_flight()); | 1024 send_algorithm_->OnApplicationLimited(unacked_packets_.bytes_in_flight()); |
| 1026 } | 1025 } |
| 1027 | 1026 |
| 1028 } // namespace net | 1027 } // namespace net |
| OLD | NEW |