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

Side by Side Diff: net/quic/quic_sent_packet_manager.h

Issue 514033002: Optimize QuicUnackedPacketMap by changing from a LinkedHashMap to a (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@unit_test_for_empty_packet_74041239
Patch Set: Created 6 years, 3 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_sent_entropy_manager.cc ('k') | net/quic/quic_sent_packet_manager.cc » ('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 #ifndef NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 5 #ifndef NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
6 #define NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 6 #define NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
7 7
8 #include <deque>
9 #include <list>
10 #include <map> 8 #include <map>
11 #include <queue>
12 #include <set> 9 #include <set>
13 #include <utility> 10 #include <utility>
14 #include <vector> 11 #include <vector>
15 12
16 #include "base/containers/hash_tables.h" 13 #include "base/containers/hash_tables.h"
17 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
18 #include "net/base/linked_hash_map.h" 15 #include "net/base/linked_hash_map.h"
19 #include "net/quic/congestion_control/loss_detection_interface.h" 16 #include "net/quic/congestion_control/loss_detection_interface.h"
20 #include "net/quic/congestion_control/rtt_stats.h" 17 #include "net/quic/congestion_control/rtt_stats.h"
21 #include "net/quic/congestion_control/send_algorithm_interface.h" 18 #include "net/quic/congestion_control/send_algorithm_interface.h"
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 308
312 // Marks |sequence_number| as having been revived by the peer, but not 309 // Marks |sequence_number| as having been revived by the peer, but not
313 // received, so the packet remains pending if it is and the congestion control 310 // received, so the packet remains pending if it is and the congestion control
314 // does not consider the packet acked. 311 // does not consider the packet acked.
315 void MarkPacketRevived(QuicPacketSequenceNumber sequence_number, 312 void MarkPacketRevived(QuicPacketSequenceNumber sequence_number,
316 QuicTime::Delta delta_largest_observed); 313 QuicTime::Delta delta_largest_observed);
317 314
318 // Removes the retransmittability and pending properties from the packet at 315 // Removes the retransmittability and pending properties from the packet at
319 // |it| due to receipt by the peer. Returns an iterator to the next remaining 316 // |it| due to receipt by the peer. Returns an iterator to the next remaining
320 // unacked packet. 317 // unacked packet.
321 QuicUnackedPacketMap::const_iterator MarkPacketHandled( 318 void MarkPacketHandled(QuicPacketSequenceNumber sequence_number,
322 QuicUnackedPacketMap::const_iterator it, 319 const TransmissionInfo& info,
323 QuicTime::Delta delta_largest_observed); 320 QuicTime::Delta delta_largest_observed);
324 321
325 // Request that |sequence_number| be retransmitted after the other pending 322 // Request that |sequence_number| be retransmitted after the other pending
326 // retransmissions. Does not add it to the retransmissions if it's already 323 // retransmissions. Does not add it to the retransmissions if it's already
327 // a pending retransmission. 324 // a pending retransmission.
328 void MarkForRetransmission(QuicPacketSequenceNumber sequence_number, 325 void MarkForRetransmission(QuicPacketSequenceNumber sequence_number,
329 TransmissionType transmission_type); 326 TransmissionType transmission_type);
330 327
331 // Notify observers about spurious retransmits. 328 // Notify observers about spurious retransmits.
332 void RecordSpuriousRetransmissions( 329 void RecordSpuriousRetransmissions(
333 const SequenceNumberSet& all_transmissions, 330 const SequenceNumberSet& all_transmissions,
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 // Records bandwidth from server to client in normal operation, over periods 390 // Records bandwidth from server to client in normal operation, over periods
394 // of time with no loss events. 391 // of time with no loss events.
395 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; 392 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_;
396 393
397 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); 394 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager);
398 }; 395 };
399 396
400 } // namespace net 397 } // namespace net
401 398
402 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 399 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
OLDNEW
« no previous file with comments | « net/quic/quic_sent_entropy_manager.cc ('k') | net/quic/quic_sent_packet_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698