| 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/quic_sent_packet_manager.h" | 5 #include "net/quic/quic_sent_packet_manager.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
| (...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 460 QuicPacketSequenceNumber newest_transmission = | 460 QuicPacketSequenceNumber newest_transmission = |
| 461 transmission_info.all_transmissions == nullptr | 461 transmission_info.all_transmissions == nullptr |
| 462 ? sequence_number | 462 ? sequence_number |
| 463 : *transmission_info.all_transmissions->rbegin(); | 463 : *transmission_info.all_transmissions->rbegin(); |
| 464 // This packet has been revived at the receiver. If we were going to | 464 // This packet has been revived at the receiver. If we were going to |
| 465 // retransmit it, do not retransmit it anymore. | 465 // retransmit it, do not retransmit it anymore. |
| 466 pending_retransmissions_.erase(newest_transmission); | 466 pending_retransmissions_.erase(newest_transmission); |
| 467 | 467 |
| 468 // The AckNotifierManager needs to be notified for revived packets, | 468 // The AckNotifierManager needs to be notified for revived packets, |
| 469 // since it indicates the packet arrived from the appliction's perspective. | 469 // since it indicates the packet arrived from the appliction's perspective. |
| 470 if (transmission_info.retransmittable_frames) { | 470 if (FLAGS_quic_attach_ack_notifiers_to_packets || |
| 471 ack_notifier_manager_.OnPacketAcked( | 471 transmission_info.retransmittable_frames) { |
| 472 newest_transmission, delta_largest_observed); | 472 ack_notifier_manager_.OnPacketAcked(newest_transmission, |
| 473 delta_largest_observed); |
| 473 } | 474 } |
| 474 | 475 |
| 475 unacked_packets_.RemoveRetransmittability(sequence_number); | 476 unacked_packets_.RemoveRetransmittability(sequence_number); |
| 476 } | 477 } |
| 477 | 478 |
| 478 void QuicSentPacketManager::MarkPacketHandled( | 479 void QuicSentPacketManager::MarkPacketHandled( |
| 479 QuicPacketSequenceNumber sequence_number, | 480 QuicPacketSequenceNumber sequence_number, |
| 480 const TransmissionInfo& info, | 481 const TransmissionInfo& info, |
| 481 QuicTime::Delta delta_largest_observed) { | 482 QuicTime::Delta delta_largest_observed) { |
| 482 QuicPacketSequenceNumber newest_transmission = | 483 QuicPacketSequenceNumber newest_transmission = |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 953 // Set up a pacing sender with a 1 millisecond alarm granularity, the same as | 954 // Set up a pacing sender with a 1 millisecond alarm granularity, the same as |
| 954 // the default granularity of the Linux kernel's FQ qdisc. | 955 // the default granularity of the Linux kernel's FQ qdisc. |
| 955 using_pacing_ = true; | 956 using_pacing_ = true; |
| 956 send_algorithm_.reset( | 957 send_algorithm_.reset( |
| 957 new PacingSender(send_algorithm_.release(), | 958 new PacingSender(send_algorithm_.release(), |
| 958 QuicTime::Delta::FromMilliseconds(1), | 959 QuicTime::Delta::FromMilliseconds(1), |
| 959 kInitialUnpacedBurst)); | 960 kInitialUnpacedBurst)); |
| 960 } | 961 } |
| 961 | 962 |
| 962 } // namespace net | 963 } // namespace net |
| OLD | NEW |