Enable --quic_spdy_stream_check_connected_after_process_input. PiperOrigin-RevId: 470031628
diff --git a/quiche/quic/core/http/quic_spdy_stream.cc b/quiche/quic/core/http/quic_spdy_stream.cc index 056514c..9a6681e 100644 --- a/quiche/quic/core/http/quic_spdy_stream.cc +++ b/quiche/quic/core/http/quic_spdy_stream.cc
@@ -828,6 +828,13 @@ QuicByteCount processed_bytes = decoder_.ProcessInput( reinterpret_cast<const char*>(iov.iov_base), iov.iov_len); is_decoder_processing_input_ = false; + if (GetQuicReloadableFlag( + quic_spdy_stream_check_connected_after_process_input) && + !session()->connection()->connected()) { + QUIC_RELOADABLE_FLAG_COUNT( + quic_spdy_stream_check_connected_after_process_input); + return; + } sequencer_offset_ += processed_bytes; if (blocked_on_decoding_headers_) { return;
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h index d38a473..5c0dfdd 100644 --- a/quiche/quic/core/quic_flags_list.h +++ b/quiche/quic/core/quic_flags_list.h
@@ -27,6 +27,8 @@ QUIC_FLAG(quic_reloadable_flag_quic_enable_mtu_discovery_at_server, false) // If true, QuicGsoBatchWriter will support release time if it is available and the process has the permission to do so. QUIC_FLAG(quic_restart_flag_quic_support_release_time_for_gso, false) +// If true, QuicSpdyStream::OnDataAvailable will check if connection is still connected after HttpDecoder::ProcessInput. +QUIC_FLAG(quic_reloadable_flag_quic_spdy_stream_check_connected_after_process_input, true) // If true, account added padding when coalesced packets get buffered. QUIC_FLAG(quic_reloadable_flag_quic_fix_bytes_accounting_for_buffered_coalesced_packets, true) // If true, ack frequency frame can be sent from server to client.