| Index: net/quic/congestion_control/hybrid_slow_start.cc
|
| diff --git a/net/quic/congestion_control/hybrid_slow_start.cc b/net/quic/congestion_control/hybrid_slow_start.cc
|
| index 4b1e8426ce14ad1c05e318cc287246d557e59049..e3789b45f8a76668658d9397ffae7a91dab4859b 100644
|
| --- a/net/quic/congestion_control/hybrid_slow_start.cc
|
| +++ b/net/quic/congestion_control/hybrid_slow_start.cc
|
| @@ -23,6 +23,7 @@ const int64 kHybridStartDelayMaxThresholdUs = 16000;
|
|
|
| HybridSlowStart::HybridSlowStart(const QuicClock* clock)
|
| : clock_(clock),
|
| + ack_train_detection_(true),
|
| started_(false),
|
| hystart_found_(NOT_FOUND),
|
| last_sent_sequence_number_(0),
|
| @@ -84,12 +85,8 @@ bool HybridSlowStart::ShouldExitSlowStart(QuicTime::Delta latest_rtt,
|
| // more than the capacity.
|
| // This first trigger will not come into play until we hit roughly 9.6 Mbps
|
| // with delayed acks (or 4.8Mbps without delayed acks)
|
| - // TODO(ianswett): QUIC always uses delayed acks, even at the beginning, so
|
| - // this should likely be at least 4ms.
|
| - // TODO(pwestin): we need to make sure our pacing don't trigger this detector.
|
| - // TODO(ianswett): Pacing or other cases could be handled by checking the send
|
| - // time of the first acked packet in a receive round.
|
| - if (current_time.Subtract(last_close_ack_pair_time_).ToMicroseconds() <=
|
| + if (ack_train_detection_ &&
|
| + current_time.Subtract(last_close_ack_pair_time_).ToMicroseconds() <=
|
| kHybridStartDelayMinThresholdUs) {
|
| last_close_ack_pair_time_ = current_time;
|
| if (current_time.Subtract(round_start_).ToMicroseconds() >=
|
|
|