| Index: net/quic/quic_sent_packet_manager.cc
|
| diff --git a/net/quic/quic_sent_packet_manager.cc b/net/quic/quic_sent_packet_manager.cc
|
| index 15f0ad96ed039cbf612b08d539acc7c7fa414b9a..5ca809d532a92d335abcaf5de7be827a7365bfd5 100644
|
| --- a/net/quic/quic_sent_packet_manager.cc
|
| +++ b/net/quic/quic_sent_packet_manager.cc
|
| @@ -20,6 +20,11 @@ using std::max;
|
| using std::min;
|
|
|
| namespace net {
|
| +
|
| +// The length of the recent min rtt window in seconds. Windowing is disabled for
|
| +// values less than or equal to 0.
|
| +int32 FLAGS_quic_recent_min_rtt_window_s = 60;
|
| +
|
| namespace {
|
| static const int kDefaultRetransmissionTimeMs = 500;
|
| // TCP RFC calls for 1 second RTO however Linux differs from this default and
|
| @@ -44,6 +49,8 @@ static const size_t kNumMinRttSamplesAfterQuiescence = 2;
|
| // Number of unpaced packets to send after quiescence.
|
| static const size_t kInitialUnpacedBurst = 10;
|
|
|
| +// Use a 1 minute window for Recent Min RTT with BBR.
|
| +
|
| bool HasCryptoHandshake(const TransmissionInfo& transmission_info) {
|
| if (transmission_info.retransmittable_frames == NULL) {
|
| return false;
|
| @@ -91,6 +98,10 @@ void QuicSentPacketManager::SetFromConfig(const QuicConfig& config) {
|
| // TODO(ianswett): BBR is currently a server only feature.
|
| if (config.HasReceivedConnectionOptions() &&
|
| ContainsQuicTag(config.ReceivedConnectionOptions(), kTBBR)) {
|
| + if (FLAGS_quic_recent_min_rtt_window_s > 0) {
|
| + rtt_stats_.set_recent_min_rtt_window(
|
| + QuicTime::Delta::FromSeconds(FLAGS_quic_recent_min_rtt_window_s));
|
| + }
|
| send_algorithm_.reset(
|
| SendAlgorithmInterface::Create(clock_, &rtt_stats_, kTCPBBR, stats_));
|
| }
|
|
|