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

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

Issue 2228613002: Rollback of internal changelist 128865569. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@129053230
Patch Set: Created 4 years, 4 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/core/quic_flags.cc ('k') | net/quic/core/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 <stddef.h> 8 #include <stddef.h>
9 9
10 #include <map> 10 #include <map>
11 #include <memory> 11 #include <memory>
12 #include <set> 12 #include <set>
13 #include <utility> 13 #include <utility>
14 #include <vector> 14 #include <vector>
15 15
16 #include "base/macros.h" 16 #include "base/macros.h"
17 #include "net/base/linked_hash_map.h" 17 #include "net/base/linked_hash_map.h"
18 #include "net/quic/core/congestion_control/general_loss_algorithm.h" 18 #include "net/quic/core/congestion_control/general_loss_algorithm.h"
19 #include "net/quic/core/congestion_control/loss_detection_interface.h" 19 #include "net/quic/core/congestion_control/loss_detection_interface.h"
20 #include "net/quic/core/congestion_control/pacing_sender.h"
21 #include "net/quic/core/congestion_control/rtt_stats.h" 20 #include "net/quic/core/congestion_control/rtt_stats.h"
22 #include "net/quic/core/congestion_control/send_algorithm_interface.h" 21 #include "net/quic/core/congestion_control/send_algorithm_interface.h"
23 #include "net/quic/core/quic_protocol.h" 22 #include "net/quic/core/quic_protocol.h"
24 #include "net/quic/core/quic_sent_packet_manager_interface.h" 23 #include "net/quic/core/quic_sent_packet_manager_interface.h"
25 #include "net/quic/core/quic_unacked_packet_map.h" 24 #include "net/quic/core/quic_unacked_packet_map.h"
26 25
27 namespace net { 26 namespace net {
28 27
29 namespace test { 28 namespace test {
30 class QuicConnectionPeer; 29 class QuicConnectionPeer;
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 size_t consecutive_tlp_count_; 366 size_t consecutive_tlp_count_;
368 // Number of times the crypto handshake has been retransmitted. 367 // Number of times the crypto handshake has been retransmitted.
369 size_t consecutive_crypto_retransmission_count_; 368 size_t consecutive_crypto_retransmission_count_;
370 // Number of pending transmissions of TLP, RTO, or crypto packets. 369 // Number of pending transmissions of TLP, RTO, or crypto packets.
371 size_t pending_timer_transmission_count_; 370 size_t pending_timer_transmission_count_;
372 // Maximum number of tail loss probes to send before firing an RTO. 371 // Maximum number of tail loss probes to send before firing an RTO.
373 size_t max_tail_loss_probes_; 372 size_t max_tail_loss_probes_;
374 // If true, send the TLP at 0.5 RTT. 373 // If true, send the TLP at 0.5 RTT.
375 bool enable_half_rtt_tail_loss_probe_; 374 bool enable_half_rtt_tail_loss_probe_;
376 bool using_pacing_; 375 bool using_pacing_;
377 // TODO(jdorfman): Remove |using_pacing_| and rename |using_inline_pacing_| to
378 // |using_pacing| when deprecating
379 // gfe2_reloadable_flag_quic_use_inline_pacing.
380 bool using_inline_pacing_;
381 // If true, use the new RTO with loss based CWND reduction instead of the send 376 // If true, use the new RTO with loss based CWND reduction instead of the send
382 // algorithms's OnRetransmissionTimeout to reduce the congestion window. 377 // algorithms's OnRetransmissionTimeout to reduce the congestion window.
383 bool use_new_rto_; 378 bool use_new_rto_;
384 // If true, cancel pending retransmissions if they're larger than 379 // If true, cancel pending retransmissions if they're larger than
385 // largest_newly_acked. 380 // largest_newly_acked.
386 bool undo_pending_retransmits_; 381 bool undo_pending_retransmits_;
387 382
388 // Vectors packets acked and lost as a result of the last congestion event. 383 // Vectors packets acked and lost as a result of the last congestion event.
389 SendAlgorithmInterface::CongestionVector packets_acked_; 384 SendAlgorithmInterface::CongestionVector packets_acked_;
390 SendAlgorithmInterface::CongestionVector packets_lost_; 385 SendAlgorithmInterface::CongestionVector packets_lost_;
391 // Largest newly acknowledged packet. 386 // Largest newly acknowledged packet.
392 QuicPacketNumber largest_newly_acked_; 387 QuicPacketNumber largest_newly_acked_;
393 // Largest packet in bytes ever acknowledged. 388 // Largest packet in bytes ever acknowledged.
394 QuicPacketLength largest_mtu_acked_; 389 QuicPacketLength largest_mtu_acked_;
395 390
396 PacingSender pacing_sender_;
397
398 // Set to true after the crypto handshake has successfully completed. After 391 // Set to true after the crypto handshake has successfully completed. After
399 // this is true we no longer use HANDSHAKE_MODE, and further frames sent on 392 // this is true we no longer use HANDSHAKE_MODE, and further frames sent on
400 // the crypto stream (i.e. SCUP messages) are treated like normal 393 // the crypto stream (i.e. SCUP messages) are treated like normal
401 // retransmittable frames. 394 // retransmittable frames.
402 bool handshake_confirmed_; 395 bool handshake_confirmed_;
403 396
404 // Records bandwidth from server to client in normal operation, over periods 397 // Records bandwidth from server to client in normal operation, over periods
405 // of time with no loss events. 398 // of time with no loss events.
406 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; 399 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_;
407 400
408 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); 401 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager);
409 }; 402 };
410 403
411 } // namespace net 404 } // namespace net
412 405
413 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 406 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
OLDNEW
« no previous file with comments | « net/quic/core/quic_flags.cc ('k') | net/quic/core/quic_sent_packet_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698