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);