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

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

Issue 876313009: Keep an instance of QuicAckFrame in QuicConnection in order to reduce (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Fix_compile_errors_85182632
Patch Set: Created 5 years, 10 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 | « net/quic/quic_packet_generator_test.cc ('k') | net/quic/test_tools/quic_connection_peer.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 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 230
231 // Ensure the delta is zero if approximate now is "in the past". 231 // Ensure the delta is zero if approximate now is "in the past".
232 ack_frame->delta_time_largest_observed = 232 ack_frame->delta_time_largest_observed =
233 approximate_now < time_largest_observed_ ? 233 approximate_now < time_largest_observed_ ?
234 QuicTime::Delta::Zero() : 234 QuicTime::Delta::Zero() :
235 approximate_now.Subtract(time_largest_observed_); 235 approximate_now.Subtract(time_largest_observed_);
236 236
237 // Remove all packets that are too far from largest_observed to express. 237 // Remove all packets that are too far from largest_observed to express.
238 received_packet_times_.remove_if(isTooLarge(ack_frame_.largest_observed)); 238 received_packet_times_.remove_if(isTooLarge(ack_frame_.largest_observed));
239 239
240 ack_frame->received_packet_times = received_packet_times_; 240 ack_frame->received_packet_times.clear();
241 received_packet_times_.clear(); 241 ack_frame->received_packet_times.swap(received_packet_times_);
242 } 242 }
243 243
244 QuicPacketEntropyHash QuicReceivedPacketManager::EntropyHash( 244 QuicPacketEntropyHash QuicReceivedPacketManager::EntropyHash(
245 QuicPacketSequenceNumber sequence_number) const { 245 QuicPacketSequenceNumber sequence_number) const {
246 return entropy_tracker_.EntropyHash(sequence_number); 246 return entropy_tracker_.EntropyHash(sequence_number);
247 } 247 }
248 248
249 bool QuicReceivedPacketManager::DontWaitForPacketsBefore( 249 bool QuicReceivedPacketManager::DontWaitForPacketsBefore(
250 QuicPacketSequenceNumber least_unacked) { 250 QuicPacketSequenceNumber least_unacked) {
251 ack_frame_.revived_packets.erase( 251 ack_frame_.revived_packets.erase(
(...skipping 30 matching lines...) Expand all
282 return !ack_frame_.missing_packets.empty() && 282 return !ack_frame_.missing_packets.empty() &&
283 (ack_frame_.largest_observed - 283 (ack_frame_.largest_observed -
284 *ack_frame_.missing_packets.rbegin()) <= kMaxPacketsAfterNewMissing; 284 *ack_frame_.missing_packets.rbegin()) <= kMaxPacketsAfterNewMissing;
285 } 285 }
286 286
287 size_t QuicReceivedPacketManager::NumTrackedPackets() const { 287 size_t QuicReceivedPacketManager::NumTrackedPackets() const {
288 return entropy_tracker_.size(); 288 return entropy_tracker_.size();
289 } 289 }
290 290
291 } // namespace net 291 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_packet_generator_test.cc ('k') | net/quic/test_tools/quic_connection_peer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698