Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2071)

Unified Diff: net/quic/quic_sent_packet_manager.cc

Issue 99583006: Minor change of QUIC's RTO behavior to not change the congestion window (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/quic_connection_test.cc ('k') | net/quic/quic_sent_packet_manager_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 770d6ca2d09e6d76518f6256b409a5e0da101b96..7951e62f14aba90826978317f201336f9fe6c47d 100644
--- a/net/quic/quic_sent_packet_manager.cc
+++ b/net/quic/quic_sent_packet_manager.cc
@@ -567,8 +567,6 @@ void QuicSentPacketManager::OnPacketSent(
}
void QuicSentPacketManager::OnRetransmissionTimeout() {
- ++consecutive_rto_count_;
- send_algorithm_->OnRetransmissionTimeout();
// Abandon all pending packets to ensure the congestion window
// opens up before we attempt to retransmit packets.
for (SequenceNumberSet::const_iterator it = pending_packets_.begin();
@@ -587,12 +585,20 @@ void QuicSentPacketManager::OnRetransmissionTimeout() {
<< unacked_packets_.size() << " unacked packets.";
// Retransmit any packet with retransmittable frames.
+ bool packets_retransmitted = false;
for (UnackedPacketMap::const_iterator it = unacked_packets_.begin();
it != unacked_packets_.end(); ++it) {
if (it->second.retransmittable_frames != NULL) {
+ packets_retransmitted = true;
MarkForRetransmission(it->first, RTO_RETRANSMISSION);
}
}
+
+ // Only inform the sent packet manager of an RTO if data was retransmitted.
+ if (packets_retransmitted) {
+ ++consecutive_rto_count_;
+ send_algorithm_->OnRetransmissionTimeout();
+ }
}
QuicTime QuicSentPacketManager::OnAbandonFecTimeout() {
« no previous file with comments | « net/quic/quic_connection_test.cc ('k') | net/quic/quic_sent_packet_manager_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698