Log all data in the sequencer when QUIC_HTTP_INVALID_FRAME_SEQUENCE_ON_SPDY_STREAM happens with no bytes ever consumed. PiperOrigin-RevId: 547490662
diff --git a/quiche/quic/core/http/quic_spdy_stream.cc b/quiche/quic/core/http/quic_spdy_stream.cc index ec9f1b9..eb1309d 100644 --- a/quiche/quic/core/http/quic_spdy_stream.cc +++ b/quiche/quic/core/http/quic_spdy_stream.cc
@@ -960,7 +960,9 @@ << ", NumBytesConsumed: " << sequencer()->NumBytesConsumed() << ", total_body_bytes_received: " - << body_manager_.total_body_bytes_received(); + << body_manager_.total_body_bytes_received() + << ", header_length: " << header_length + << ", payload_length: " << payload_length; stream_delegate()->OnStreamError( QUIC_HTTP_INVALID_FRAME_SEQUENCE_ON_SPDY_STREAM, "Unexpected DATA frame received.");
diff --git a/quiche/quic/core/http/quic_spdy_stream.h b/quiche/quic/core/http/quic_spdy_stream.h index 16a6212..c42367d 100644 --- a/quiche/quic/core/http/quic_spdy_stream.h +++ b/quiche/quic/core/http/quic_spdy_stream.h
@@ -375,6 +375,10 @@ void set_invalid_request_details(std::string invalid_request_details); + // Called by HttpDecoderVisitor. + virtual bool OnDataFrameStart(QuicByteCount header_length, + QuicByteCount payload_length); + private: friend class test::QuicSpdyStreamPeer; friend class test::QuicStreamPeer; @@ -390,8 +394,6 @@ }; // Called by HttpDecoderVisitor. - bool OnDataFrameStart(QuicByteCount header_length, - QuicByteCount payload_length); bool OnDataFramePayload(absl::string_view payload); bool OnDataFrameEnd(); bool OnHeadersFrameStart(QuicByteCount header_length,