Merge kAckDecimationDelay & kAckDelayShift. PiperOrigin-RevId: 337371059 Change-Id: I6136e8f268749c134e8f4b1135558c8f49f4438c
diff --git a/quic/core/quic_constants.h b/quic/core/quic_constants.h index eaf0170..a1126c0 100644 --- a/quic/core/quic_constants.h +++ b/quic/core/quic_constants.h
@@ -265,6 +265,8 @@ // This intends to avoid the beginning of slow start, when CWNDs may be // rapidly increasing. const QuicPacketCount kMinReceivedBeforeAckDecimation = 100; +// One quarter RTT delay when doing ack decimation. +const float kAckDecimationDelay = 0.25; // The default alarm granularity assumed by QUIC code. const QuicTime::Delta kAlarmGranularity = QuicTime::Delta::FromMilliseconds(1);
diff --git a/quic/core/quic_received_packet_manager.cc b/quic/core/quic_received_packet_manager.cc index 9a84d97..0a91709 100644 --- a/quic/core/quic_received_packet_manager.cc +++ b/quic/core/quic_received_packet_manager.cc
@@ -26,8 +26,6 @@ // against an ack loss const size_t kMaxPacketsAfterNewMissing = 4; -// One quarter RTT delay when doing ack decimation. -const float kAckDecimationDelay = 0.25; // One eighth RTT delay when doing ack decimation. const float kShortAckDecimationDelay = 0.125; } // namespace
diff --git a/quic/core/quic_sent_packet_manager.cc b/quic/core/quic_sent_packet_manager.cc index 106393b..b98f65c 100644 --- a/quic/core/quic_sent_packet_manager.cc +++ b/quic/core/quic_sent_packet_manager.cc
@@ -59,11 +59,6 @@ // losses. static const uint32_t kConservativeUnpacedBurst = 2; -// TODO(haoyuewang) Unify this constant and kAckDecimationDelay in -// quic_received_packet_manager.cc. -// Ack delay as (RTT >> kAckDelayShift). -static const int kAckDelayShift = 2; - } // namespace #define ENDPOINT \ @@ -731,7 +726,7 @@ QUIC_RELOADABLE_FLAG_COUNT(quic_can_send_ack_frequency); frame.packet_tolerance = kMaxRetransmittablePacketsBeforeAck; auto rtt = rtt_stats_.MinOrInitialRtt(); - frame.max_ack_delay = rtt >> kAckDelayShift; + frame.max_ack_delay = rtt * kAckDecimationDelay; frame.max_ack_delay = std::max(frame.max_ack_delay, peer_min_ack_delay_); return frame;