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

Side by Side Diff: net/quic/quic_received_packet_manager.cc

Issue 761903003: Update from https://crrev.com/306655 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 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 unified diff | Download patch
« no previous file with comments | « net/quic/quic_protocol.h ('k') | net/quic/quic_sent_packet_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_received_packet_manager.h" 5 #include "net/quic/quic_received_packet_manager.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 sequence_number); 157 sequence_number);
158 158
159 if (ack_frame_.largest_observed > sequence_number) { 159 if (ack_frame_.largest_observed > sequence_number) {
160 // We've gotten one of the out of order packets - remove it from our 160 // We've gotten one of the out of order packets - remove it from our
161 // "missing packets" list. 161 // "missing packets" list.
162 DVLOG(1) << "Removing " << sequence_number << " from missing list"; 162 DVLOG(1) << "Removing " << sequence_number << " from missing list";
163 ack_frame_.missing_packets.erase(sequence_number); 163 ack_frame_.missing_packets.erase(sequence_number);
164 164
165 // Record how out of order stats. 165 // Record how out of order stats.
166 ++stats_->packets_reordered; 166 ++stats_->packets_reordered;
167 uint32 sequence_gap = ack_frame_.largest_observed - sequence_number;
168 stats_->max_sequence_reordering = 167 stats_->max_sequence_reordering =
169 max(stats_->max_sequence_reordering, sequence_gap); 168 max(stats_->max_sequence_reordering,
169 ack_frame_.largest_observed - sequence_number);
170 int64 reordering_time_us = 170 int64 reordering_time_us =
171 receipt_time.Subtract(time_largest_observed_).ToMicroseconds(); 171 receipt_time.Subtract(time_largest_observed_).ToMicroseconds();
172 stats_->max_time_reordering_us = max(stats_->max_time_reordering_us, 172 stats_->max_time_reordering_us = max(stats_->max_time_reordering_us,
173 reordering_time_us); 173 reordering_time_us);
174 } 174 }
175 if (sequence_number > ack_frame_.largest_observed) { 175 if (sequence_number > ack_frame_.largest_observed) {
176 ack_frame_.largest_observed = sequence_number; 176 ack_frame_.largest_observed = sequence_number;
177 time_largest_observed_ = receipt_time; 177 time_largest_observed_ = receipt_time;
178 } 178 }
179 entropy_tracker_.RecordPacketEntropyHash(sequence_number, 179 entropy_tracker_.RecordPacketEntropyHash(sequence_number,
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 return !ack_frame_.missing_packets.empty() && 288 return !ack_frame_.missing_packets.empty() &&
289 (ack_frame_.largest_observed - 289 (ack_frame_.largest_observed -
290 *ack_frame_.missing_packets.rbegin()) <= kMaxPacketsAfterNewMissing; 290 *ack_frame_.missing_packets.rbegin()) <= kMaxPacketsAfterNewMissing;
291 } 291 }
292 292
293 size_t QuicReceivedPacketManager::NumTrackedPackets() const { 293 size_t QuicReceivedPacketManager::NumTrackedPackets() const {
294 return entropy_tracker_.size(); 294 return entropy_tracker_.size();
295 } 295 }
296 296
297 } // namespace net 297 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_protocol.h ('k') | net/quic/quic_sent_packet_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698