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