OLD | NEW |
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 <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 #include <utility> | 10 #include <utility> |
(...skipping 379 matching lines...) Loading... |
390 size_t consecutive_rto_count_; | 390 size_t consecutive_rto_count_; |
391 // Number of times the tail loss probe has been sent. | 391 // Number of times the tail loss probe has been sent. |
392 size_t consecutive_tlp_count_; | 392 size_t consecutive_tlp_count_; |
393 // Number of times the crypto handshake has been retransmitted. | 393 // Number of times the crypto handshake has been retransmitted. |
394 size_t consecutive_crypto_retransmission_count_; | 394 size_t consecutive_crypto_retransmission_count_; |
395 // Number of pending transmissions of TLP, RTO, or crypto packets. | 395 // Number of pending transmissions of TLP, RTO, or crypto packets. |
396 size_t pending_timer_transmission_count_; | 396 size_t pending_timer_transmission_count_; |
397 // Maximum number of tail loss probes to send before firing an RTO. | 397 // Maximum number of tail loss probes to send before firing an RTO. |
398 size_t max_tail_loss_probes_; | 398 size_t max_tail_loss_probes_; |
399 bool using_pacing_; | 399 bool using_pacing_; |
| 400 // If true, use the new RTO with loss based CWND reduction instead of the send |
| 401 // algorithms's OnRetransmissionTimeout to reduce the congestion window. |
| 402 bool use_new_rto_; |
400 | 403 |
401 // Vectors packets acked and lost as a result of the last congestion event. | 404 // Vectors packets acked and lost as a result of the last congestion event. |
402 SendAlgorithmInterface::CongestionVector packets_acked_; | 405 SendAlgorithmInterface::CongestionVector packets_acked_; |
403 SendAlgorithmInterface::CongestionVector packets_lost_; | 406 SendAlgorithmInterface::CongestionVector packets_lost_; |
404 | 407 |
405 // Set to true after the crypto handshake has successfully completed. After | 408 // Set to true after the crypto handshake has successfully completed. After |
406 // this is true we no longer use HANDSHAKE_MODE, and further frames sent on | 409 // this is true we no longer use HANDSHAKE_MODE, and further frames sent on |
407 // the crypto stream (i.e. SCUP messages) are treated like normal | 410 // the crypto stream (i.e. SCUP messages) are treated like normal |
408 // retransmittable frames. | 411 // retransmittable frames. |
409 bool handshake_confirmed_; | 412 bool handshake_confirmed_; |
410 | 413 |
411 // Records bandwidth from server to client in normal operation, over periods | 414 // Records bandwidth from server to client in normal operation, over periods |
412 // of time with no loss events. | 415 // of time with no loss events. |
413 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; | 416 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; |
414 | 417 |
415 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); | 418 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); |
416 }; | 419 }; |
417 | 420 |
418 } // namespace net | 421 } // namespace net |
419 | 422 |
420 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ | 423 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ |
OLD | NEW |