Force quic_optimize_inflight_check off for Quartc.
This optimization is apparently incompatible with datagram/message-only flows.
The optimization circumvents a check to see if there are any retransmittable
frames, relying on a previous check for any bytes_in_flight instead. Message
frames count toward bytes_in_flight, but are not retransmittable.
When this is enabled, some quartc simulator tests can land in an infinite loop
of retransmission timeouts.
gfe-relnote: n/a (Quartc only)
PiperOrigin-RevId: 250772361
Change-Id: I338c9c8958538874c77b74f3bcf4f8b9bd7e74e9
diff --git a/quic/quartc/quartc_factory.cc b/quic/quartc/quartc_factory.cc
index 06871a2..b75244c 100644
--- a/quic/quartc/quartc_factory.cc
+++ b/quic/quartc/quartc_factory.cc
@@ -51,6 +51,11 @@
}
void ConfigureGlobalQuicSettings() {
+ // TODO(b/134054062): quic_optimize_inflight_check is incompatible with
+ // datagram/message-only flows. Remove this if/when the optimization is
+ // fixed.
+ SetQuicReloadableFlag(quic_optimize_inflight_check, false);
+
// Fixes behavior of StopReading() with level-triggered stream sequencers.
SetQuicReloadableFlag(quic_stop_reading_when_level_triggered, true);