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.