In WebTransportBidirectionalEchoVisitor, retry sending FIN if we cannot send it immediately. This has caused flaky tests in Chromium before, and is blocking a test I've been trying to add. PiperOrigin-RevId: 494093482
diff --git a/quiche/quic/tools/web_transport_test_visitors.h b/quiche/quic/tools/web_transport_test_visitors.h index c7630e4..368e53a 100644 --- a/quiche/quic/tools/web_transport_test_visitors.h +++ b/quiche/quic/tools/web_transport_test_visitors.h
@@ -74,9 +74,11 @@ buffer_ = ""; } - if (send_fin_) { + if (send_fin_ && !fin_sent_) { bool success = stream_->SendFin(); - QUICHE_DCHECK(success); + if (success) { + fin_sent_ = true; + } } } @@ -99,6 +101,7 @@ WebTransportStream* stream_; std::string buffer_; bool send_fin_ = false; + bool fin_sent_ = false; bool stop_sending_received_ = false; };