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

Side by Side Diff: net/quic/congestion_control/tcp_loss_algorithm.cc

Issue 644123003: Add more information to LOG(DFATAL) in QUIC's tcp_loss_algorithm. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix_bug_header_streams_blocked_77265365
Patch Set: Created 6 years, 2 months 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/congestion_control/tcp_loss_algorithm.h" 5 #include "net/quic/congestion_control/tcp_loss_algorithm.h"
6 6
7 #include "net/quic/congestion_control/rtt_stats.h" 7 #include "net/quic/congestion_control/rtt_stats.h"
8 #include "net/quic/quic_protocol.h" 8 #include "net/quic/quic_protocol.h"
9 9
10 namespace net { 10 namespace net {
(...skipping 28 matching lines...) Expand all
39 rtt_stats.SmoothedRtt().Multiply(kEarlyRetransmitLossDelayMultiplier); 39 rtt_stats.SmoothedRtt().Multiply(kEarlyRetransmitLossDelayMultiplier);
40 QuicPacketSequenceNumber sequence_number = unacked_packets.GetLeastUnacked(); 40 QuicPacketSequenceNumber sequence_number = unacked_packets.GetLeastUnacked();
41 for (QuicUnackedPacketMap::const_iterator it = unacked_packets.begin(); 41 for (QuicUnackedPacketMap::const_iterator it = unacked_packets.begin();
42 it != unacked_packets.end() && sequence_number <= largest_observed; 42 it != unacked_packets.end() && sequence_number <= largest_observed;
43 ++it, ++sequence_number) { 43 ++it, ++sequence_number) {
44 if (!it->in_flight) { 44 if (!it->in_flight) {
45 continue; 45 continue;
46 } 46 }
47 47
48 LOG_IF(DFATAL, it->nack_count == 0) 48 LOG_IF(DFATAL, it->nack_count == 0)
49 << "All packets less than largest observed should have been nacked."; 49 << "All packets less than largest observed should have been nacked."
50 << "sequence_number:" << sequence_number
51 << " largest_observed:" << largest_observed;
50 if (it->nack_count >= kNumberOfNacksBeforeRetransmission) { 52 if (it->nack_count >= kNumberOfNacksBeforeRetransmission) {
51 lost_packets.insert(sequence_number); 53 lost_packets.insert(sequence_number);
52 continue; 54 continue;
53 } 55 }
54 56
55 // Only early retransmit(RFC5827) when the last packet gets acked and 57 // Only early retransmit(RFC5827) when the last packet gets acked and
56 // there are retransmittable packets in flight. 58 // there are retransmittable packets in flight.
57 // This also implements a timer-protected variant of FACK. 59 // This also implements a timer-protected variant of FACK.
58 if (it->retransmittable_frames && 60 if (it->retransmittable_frames &&
59 unacked_packets.largest_sent_packet() == largest_observed) { 61 unacked_packets.largest_sent_packet() == largest_observed) {
(...skipping 11 matching lines...) Expand all
71 } 73 }
72 74
73 return lost_packets; 75 return lost_packets;
74 } 76 }
75 77
76 QuicTime TCPLossAlgorithm::GetLossTimeout() const { 78 QuicTime TCPLossAlgorithm::GetLossTimeout() const {
77 return loss_detection_timeout_; 79 return loss_detection_timeout_;
78 } 80 }
79 81
80 } // namespace net 82 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698