Deprecate gfe2_reloadable_flag_quic_decline_server_push_stream PiperOrigin-RevId: 396718803
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc index 56b0db3..df99714 100644 --- a/quic/core/http/quic_spdy_session.cc +++ b/quic/core/http/quic_spdy_session.cc
@@ -33,8 +33,6 @@ #include "spdy/core/http2_frame_decoder_adapter.h" using http2::Http2DecoderAdapter; -using spdy::HpackEntry; -using spdy::HpackHeaderTable; using spdy::Http2WeightToSpdy3Priority; using spdy::Spdy3PriorityToHttp2Weight; using spdy::SpdyErrorCode; @@ -470,9 +468,6 @@ h2_deframer_.set_visitor(spdy_framer_visitor_.get()); h2_deframer_.set_debug_visitor(spdy_framer_visitor_.get()); spdy_framer_.set_debug_visitor(spdy_framer_visitor_.get()); - if (decline_server_push_stream_) { - QUIC_RELOADABLE_FLAG_COUNT(quic_decline_server_push_stream); - } } QuicSpdySession::~QuicSpdySession() { @@ -1361,13 +1356,9 @@ return receive_control_stream_; } case kServerPushStream: { // Push Stream. - if (decline_server_push_stream_) { - CloseConnectionWithDetails(QUIC_HTTP_RECEIVE_SERVER_PUSH, - "Received server push stream"); - return nullptr; - } - QuicSpdyStream* stream = CreateIncomingStream(pending); - return stream; + CloseConnectionWithDetails(QUIC_HTTP_RECEIVE_SERVER_PUSH, + "Received server push stream"); + return nullptr; } case kQpackEncoderStream: { // QPACK encoder stream. if (qpack_encoder_receive_stream_) {
diff --git a/quic/core/http/quic_spdy_session.h b/quic/core/http/quic_spdy_session.h index 78c132a..8085dd8 100644 --- a/quic/core/http/quic_spdy_session.h +++ b/quic/core/http/quic_spdy_session.h
@@ -678,10 +678,6 @@ // Limited to kMaxUnassociatedWebTransportStreams; when the list is full, // oldest streams are evicated first. std::list<BufferedWebTransportStream> buffered_streams_; - - // Latched value of flag_quic_decline_server_push_stream. - const bool decline_server_push_stream_ = - GetQuicReloadableFlag(quic_decline_server_push_stream); }; } // namespace quic
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc index 5a98432..3734301 100644 --- a/quic/core/http/quic_spdy_session_test.cc +++ b/quic/core/http/quic_spdy_session_test.cc
@@ -2007,33 +2007,11 @@ std::string frame_type1 = absl::HexStringToBytes("01"); QuicStreamId stream_id1 = GetNthServerInitiatedUnidirectionalStreamId(transport_version(), 0); - if (!GetQuicReloadableFlag(quic_decline_server_push_stream)) { - session_.OnStreamFrame(QuicStreamFrame(stream_id1, /* fin = */ false, - /* offset = */ 0, frame_type1)); - - EXPECT_EQ(1u, QuicSessionPeer::GetNumOpenDynamicStreams(&session_)); - QuicStream* stream = session_.GetOrCreateStream(stream_id1); - EXPECT_EQ(1u, QuicStreamPeer::bytes_consumed(stream)); - EXPECT_EQ(1u, session_.flow_controller()->bytes_consumed()); - - // The same stream type can be encoded differently. - std::string frame_type2 = absl::HexStringToBytes("80000001"); - QuicStreamId stream_id2 = - GetNthServerInitiatedUnidirectionalStreamId(transport_version(), 1); - session_.OnStreamFrame(QuicStreamFrame(stream_id2, /* fin = */ false, - /* offset = */ 0, frame_type2)); - - EXPECT_EQ(2u, QuicSessionPeer::GetNumOpenDynamicStreams(&session_)); - stream = session_.GetOrCreateStream(stream_id2); - EXPECT_EQ(4u, QuicStreamPeer::bytes_consumed(stream)); - EXPECT_EQ(5u, session_.flow_controller()->bytes_consumed()); - } else { - EXPECT_CALL(*connection_, - CloseConnection(QUIC_HTTP_RECEIVE_SERVER_PUSH, _, _)) - .Times(1); - session_.OnStreamFrame(QuicStreamFrame(stream_id1, /* fin = */ false, - /* offset = */ 0, frame_type1)); - } + EXPECT_CALL(*connection_, + CloseConnection(QUIC_HTTP_RECEIVE_SERVER_PUSH, _, _)) + .Times(1); + session_.OnStreamFrame(QuicStreamFrame(stream_id1, /* fin = */ false, + /* offset = */ 0, frame_type1)); } TEST_P(QuicSpdySessionTestClient, Http3ServerPushOutofOrderFrame) { @@ -2060,18 +2038,10 @@ // Receiving some stream data without stream type does not open the stream. session_.OnStreamFrame(data2); EXPECT_EQ(0u, QuicSessionPeer::GetNumOpenDynamicStreams(&session_)); - - if (!GetQuicReloadableFlag(quic_decline_server_push_stream)) { - session_.OnStreamFrame(data1); - EXPECT_EQ(1u, QuicSessionPeer::GetNumOpenDynamicStreams(&session_)); - QuicStream* stream = session_.GetOrCreateStream(stream_id); - EXPECT_EQ(3u, stream->highest_received_byte_offset()); - } else { - EXPECT_CALL(*connection_, - CloseConnection(QUIC_HTTP_RECEIVE_SERVER_PUSH, _, _)) - .Times(1); - session_.OnStreamFrame(data1); - } + EXPECT_CALL(*connection_, + CloseConnection(QUIC_HTTP_RECEIVE_SERVER_PUSH, _, _)) + .Times(1); + session_.OnStreamFrame(data1); } TEST_P(QuicSpdySessionTestServer, OnStreamFrameLost) {
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h index 60583e0..fc93641 100644 --- a/quic/core/quic_flags_list.h +++ b/quic/core/quic_flags_list.h
@@ -87,8 +87,6 @@ QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_pass_path_response_to_validator, true) // If true, quic dispatcher supports one connection to use multiple connection IDs. QUIC_FLAG(FLAGS_quic_restart_flag_quic_dispatcher_support_multiple_cid_per_connection_v2, true) -// If true, receiving server push stream will trigger QUIC connection close. -QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_decline_server_push_stream, true) // If true, record addresses that server has sent reset to recently, and do not send reset if the address lives in the set. QUIC_FLAG(FLAGS_quic_restart_flag_quic_use_recent_reset_addresses, false) // If true, refactor how QUIC TLS server disables resumption. No behavior change.