Support sender control of ack frequency step2: (1) add min_ack_delay transport parameters. (2) client send min_ack_delay by default. protected by gfe2_reloadable_flag_quic_record_received_min_ack_delay.
PiperOrigin-RevId: 321468850
Change-Id: I71a9b8ab272400a80a1af091f92e440172885dc5
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index d63006c..0a9f872 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -120,11 +120,14 @@
connection_->SetSessionNotifier(this);
connection_->SetDataProducer(this);
connection_->SetFromConfig(config_);
- if (GetQuicReloadableFlag(quic_support_handshake_done_in_t050) &&
- version().UsesTls() && !version().HasHandshakeDone() &&
- perspective_ == Perspective::IS_CLIENT) {
- config_.SetSupportHandshakeDone();
+ if (perspective() == Perspective::IS_CLIENT && version().UsesTls()) {
+ config_.SetMinAckDelayMs(kDefaultMinAckDelayTimeMs);
+ if (GetQuicReloadableFlag(quic_support_handshake_done_in_t050) &&
+ !version().HasHandshakeDone()) {
+ config_.SetSupportHandshakeDone();
+ }
}
+
// On the server side, version negotiation has been done by the dispatcher,
// and the server session is created with the right version.
if (perspective() == Perspective::IS_SERVER) {