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

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

Issue 2392093002: Add a QUIC connection option to use a more conservative handshake retransmission timer. Protected … (Closed)
Patch Set: Created 4 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 | « net/quic/core/quic_flags_list.h ('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>
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 size_t max_tail_loss_probes_; 379 size_t max_tail_loss_probes_;
380 // If true, send the TLP at 0.5 RTT. 380 // If true, send the TLP at 0.5 RTT.
381 bool enable_half_rtt_tail_loss_probe_; 381 bool enable_half_rtt_tail_loss_probe_;
382 bool using_pacing_; 382 bool using_pacing_;
383 // If true, use the new RTO with loss based CWND reduction instead of the send 383 // If true, use the new RTO with loss based CWND reduction instead of the send
384 // algorithms's OnRetransmissionTimeout to reduce the congestion window. 384 // algorithms's OnRetransmissionTimeout to reduce the congestion window.
385 bool use_new_rto_; 385 bool use_new_rto_;
386 // If true, cancel pending retransmissions if they're larger than 386 // If true, cancel pending retransmissions if they're larger than
387 // largest_newly_acked. 387 // largest_newly_acked.
388 bool undo_pending_retransmits_; 388 bool undo_pending_retransmits_;
389 // If true, use a more conservative handshake retransmission policy.
390 bool conservative_handshake_retransmits_;
389 391
390 // Vectors packets acked and lost as a result of the last congestion event. 392 // Vectors packets acked and lost as a result of the last congestion event.
391 SendAlgorithmInterface::CongestionVector packets_acked_; 393 SendAlgorithmInterface::CongestionVector packets_acked_;
392 SendAlgorithmInterface::CongestionVector packets_lost_; 394 SendAlgorithmInterface::CongestionVector packets_lost_;
393 // Largest newly acknowledged packet. 395 // Largest newly acknowledged packet.
394 QuicPacketNumber largest_newly_acked_; 396 QuicPacketNumber largest_newly_acked_;
395 // Largest packet in bytes ever acknowledged. 397 // Largest packet in bytes ever acknowledged.
396 QuicPacketLength largest_mtu_acked_; 398 QuicPacketLength largest_mtu_acked_;
397 399
398 // Replaces certain calls to |send_algorithm_| when |using_pacing_| is true. 400 // Replaces certain calls to |send_algorithm_| when |using_pacing_| is true.
399 // Calls into |send_algorithm_| for the underlying congestion control. 401 // Calls into |send_algorithm_| for the underlying congestion control.
400 PacingSender pacing_sender_; 402 PacingSender pacing_sender_;
401 403
402 // Set to true after the crypto handshake has successfully completed. After 404 // Set to true after the crypto handshake has successfully completed. After
403 // this is true we no longer use HANDSHAKE_MODE, and further frames sent on 405 // this is true we no longer use HANDSHAKE_MODE, and further frames sent on
404 // the crypto stream (i.e. SCUP messages) are treated like normal 406 // the crypto stream (i.e. SCUP messages) are treated like normal
405 // retransmittable frames. 407 // retransmittable frames.
406 bool handshake_confirmed_; 408 bool handshake_confirmed_;
407 409
408 // Records bandwidth from server to client in normal operation, over periods 410 // Records bandwidth from server to client in normal operation, over periods
409 // of time with no loss events. 411 // of time with no loss events.
410 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; 412 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_;
411 413
412 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); 414 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager);
413 }; 415 };
414 416
415 } // namespace net 417 } // namespace net
416 418
417 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 419 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
OLDNEW
« no previous file with comments | « net/quic/core/quic_flags_list.h ('k') | net/quic/core/quic_sent_packet_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698