Fix 2 QUIC reverse path validation related GFE_BUG.
Flush queued frames when PathValidator::retry_timer_ fires.
Cancel retransmission alarm after resetting congestion controller.
Protected by quic_reloadable_flag_quic_server_reverse_validate_new_path2.
PiperOrigin-RevId: 362972561
Change-Id: I49cd49615a1afb4f9b0f4ceb04d9c41ef2338a35
diff --git a/quic/core/quic_packet_creator.cc b/quic/core/quic_packet_creator.cc
index 8b8bfce..9b476b1 100644
--- a/quic/core/quic_packet_creator.cc
+++ b/quic/core/quic_packet_creator.cc
@@ -2055,6 +2055,12 @@
void QuicPacketCreator::AddPathChallengeFrame(
const QuicPathFrameBuffer& payload) {
+ // TODO(danzh) Unify similar checks at several entry points into one in
+ // AddFrame(). Sort out test helper functions and peer class that don't
+ // enforce this check.
+ QUIC_BUG_IF_V2(quic_bug_10752_39, !flusher_attached_)
+ << "Packet flusher is not attached when "
+ "generator tries to write stream data.";
// Write a PATH_CHALLENGE frame, which has a random 8-byte payload.
auto path_challenge_frame = new QuicPathChallengeFrame(0, payload);
QuicFrame frame(path_challenge_frame);