| 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 ba581672f17d8ba1c745af3cb103f3276b618056..d92140ad896468c667f54babcb60935482bff69b 100644
|
| --- a/net/quic/quic_sent_packet_manager.cc
|
| +++ b/net/quic/quic_sent_packet_manager.cc
|
| @@ -38,6 +38,9 @@ static const size_t kMinHandshakeTimeoutMs = 10;
|
| static const size_t kDefaultMaxTailLossProbes = 2;
|
| static const int64 kMinTailLossProbeTimeoutMs = 10;
|
|
|
| +// Number of samples before we force a new recent min rtt to be captured.
|
| +static const size_t kNumMinRttSamplesAfterQuiescence = 2;
|
| +
|
| bool HasCryptoHandshake(const TransmissionInfo& transmission_info) {
|
| if (transmission_info.retransmittable_frames == NULL) {
|
| return false;
|
| @@ -444,6 +447,14 @@ bool QuicSentPacketManager::OnPacketSent(
|
| return false;
|
| }
|
|
|
| + if (unacked_packets_.bytes_in_flight() == 0) {
|
| + // TODO(ianswett): Consider being less aggressive to force a new
|
| + // recent_min_rtt, likely by not discarding a relatively new sample.
|
| + DVLOG(1) << "Sampling a new recent min rtt within 2 samples. currently:"
|
| + << rtt_stats_.recent_min_rtt().ToMilliseconds() << "ms";
|
| + rtt_stats_.SampleNewRecentMinRtt(kNumMinRttSamplesAfterQuiescence);
|
| + }
|
| +
|
| // Only track packets as pending that the send algorithm wants us to track.
|
| const bool pending =
|
| send_algorithm_->OnPacketSent(sent_time,
|
|
|