Deprecate --gfe2_reloadable_flag_quic_enable_http3_metadata_decoding
PiperOrigin-RevId: 633433081
diff --git a/quiche/common/quiche_feature_flags_list.h b/quiche/common/quiche_feature_flags_list.h
index 5e28f02..dcf5b04 100755
--- a/quiche/common/quiche_feature_flags_list.h
+++ b/quiche/common/quiche_feature_flags_list.h
@@ -29,7 +29,6 @@
QUICHE_FLAG(bool, quiche_reloadable_flag_quic_disable_version_rfcv1, false, "If true, disable QUIC version h3 (RFCv1).")
QUICHE_FLAG(bool, quiche_reloadable_flag_quic_discard_initial_packet_with_key_dropped, false, "If true, discard INITIAL packet if the key has been dropped.")
QUICHE_FLAG(bool, quiche_reloadable_flag_quic_enable_disable_resumption, true, "If true, disable resumption when receiving NRES connection option.")
-QUICHE_FLAG(bool, quiche_reloadable_flag_quic_enable_http3_metadata_decoding, true, "If true, the HTTP/3 decoder will decode METADATA frames and not treat them as Unknown.")
QUICHE_FLAG(bool, quiche_reloadable_flag_quic_enable_mtu_discovery_at_server, false, "If true, QUIC will default enable MTU discovery at server, with a target of 1450 bytes.")
QUICHE_FLAG(bool, quiche_reloadable_flag_quic_enable_server_on_wire_ping, true, "If true, enable server retransmittable on wire PING.")
QUICHE_FLAG(bool, quiche_reloadable_flag_quic_enable_version_rfcv2, false, "When true, support RFC9369.")
diff --git a/quiche/quic/core/http/http_decoder.cc b/quiche/quic/core/http/http_decoder.cc
index 4ddcbcb..1503b5b 100644
--- a/quiche/quic/core/http/http_decoder.cc
+++ b/quiche/quic/core/http/http_decoder.cc
@@ -43,9 +43,7 @@
current_type_field_length_(0),
remaining_type_field_length_(0),
error_(QUIC_NO_ERROR),
- error_detail_(""),
- enable_metadata_decoding_(
- GetQuicReloadableFlag(quic_enable_http3_metadata_decoding)) {
+ error_detail_("") {
QUICHE_DCHECK(visitor_);
}
@@ -284,10 +282,8 @@
continue_processing = visitor_->OnAcceptChFrameStart(header_length);
break;
default:
- if (enable_metadata_decoding_ &&
- current_frame_type_ ==
- static_cast<uint64_t>(HttpFrameType::METADATA)) {
- QUIC_RELOADABLE_FLAG_COUNT_N(quic_enable_http3_metadata_decoding, 1, 3);
+ if (current_frame_type_ ==
+ static_cast<uint64_t>(HttpFrameType::METADATA)) {
continue_processing = visitor_->OnMetadataFrameStart(
header_length, current_frame_length_);
break;
@@ -386,10 +382,8 @@
break;
}
default: {
- if (enable_metadata_decoding_ &&
- current_frame_type_ ==
- static_cast<uint64_t>(HttpFrameType::METADATA)) {
- QUIC_RELOADABLE_FLAG_COUNT_N(quic_enable_http3_metadata_decoding, 2, 3);
+ if (current_frame_type_ ==
+ static_cast<uint64_t>(HttpFrameType::METADATA)) {
QuicByteCount bytes_to_read = std::min<QuicByteCount>(
remaining_frame_length_, reader->BytesRemaining());
absl::string_view payload;
@@ -456,10 +450,8 @@
break;
}
default:
- if (enable_metadata_decoding_ &&
- current_frame_type_ ==
- static_cast<uint64_t>(HttpFrameType::METADATA)) {
- QUIC_RELOADABLE_FLAG_COUNT_N(quic_enable_http3_metadata_decoding, 3, 3);
+ if (current_frame_type_ ==
+ static_cast<uint64_t>(HttpFrameType::METADATA)) {
continue_processing = visitor_->OnMetadataFrameEnd();
break;
}
diff --git a/quiche/quic/core/http/http_decoder.h b/quiche/quic/core/http/http_decoder.h
index a08c562..6d305e4 100644
--- a/quiche/quic/core/http/http_decoder.h
+++ b/quiche/quic/core/http/http_decoder.h
@@ -282,9 +282,6 @@
std::array<char, sizeof(uint64_t)> length_buffer_;
// Remaining unparsed type field data.
std::array<char, sizeof(uint64_t)> type_buffer_;
-
- // Latched value of --quic_enable_http3_metadata_decoding.
- const bool enable_metadata_decoding_;
};
} // namespace quic
diff --git a/quiche/quic/core/http/http_decoder_test.cc b/quiche/quic/core/http/http_decoder_test.cc
index 4fe08c0..b7f3255 100644
--- a/quiche/quic/core/http/http_decoder_test.cc
+++ b/quiche/quic/core/http/http_decoder_test.cc
@@ -498,9 +498,6 @@
}
TEST_F(HttpDecoderTest, MetadataFrame) {
- if (!GetQuicReloadableFlag(quic_enable_http3_metadata_decoding)) {
- return;
- }
InSequence s;
std::string type_and_length_bytes;
ASSERT_TRUE(
diff --git a/quiche/quic/core/http/quic_spdy_stream.cc b/quiche/quic/core/http/quic_spdy_stream.cc
index 035d21f..1649bc5 100644
--- a/quiche/quic/core/http/quic_spdy_stream.cc
+++ b/quiche/quic/core/http/quic_spdy_stream.cc
@@ -724,8 +724,6 @@
}
void QuicSpdyStream::RegisterMetadataVisitor(MetadataVisitor* visitor) {
- QUIC_BUG_IF(Metadata visitor requires http3 metadata flag,
- !GetQuicReloadableFlag(quic_enable_http3_metadata_decoding));
metadata_visitor_ = visitor;
}
diff --git a/quiche/quic/core/http/quic_spdy_stream_test.cc b/quiche/quic/core/http/quic_spdy_stream_test.cc
index d16217f..21fc928 100644
--- a/quiche/quic/core/http/quic_spdy_stream_test.cc
+++ b/quiche/quic/core/http/quic_spdy_stream_test.cc
@@ -2786,8 +2786,7 @@
};
TEST_P(QuicSpdyStreamIncrementalConsumptionTest, ReceiveMetadataFrame) {
- if (!UsesHttp3() ||
- !GetQuicReloadableFlag(quic_enable_http3_metadata_decoding)) {
+ if (!UsesHttp3()) {
return;
}
StrictMock<MockMetadataVisitor> metadata_visitor;
@@ -2824,8 +2823,7 @@
TEST_P(QuicSpdyStreamIncrementalConsumptionTest,
ResetDuringMultipleMetadataFrames) {
- if (!UsesHttp3() ||
- !GetQuicReloadableFlag(quic_enable_http3_metadata_decoding)) {
+ if (!UsesHttp3()) {
return;
}
StrictMock<MockMetadataVisitor> metadata_visitor;
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index 61393cb..8945726 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -73,8 +73,6 @@
QUIC_FLAG(quic_reloadable_flag_quic_disable_batch_write, false)
// If true, set burst token to 2 in cwnd bootstrapping experiment.
QUIC_FLAG(quic_reloadable_flag_quic_conservative_bursts, false)
-// If true, the HTTP/3 decoder will decode METADATA frames and not treat them as Unknown.
-QUIC_FLAG(quic_reloadable_flag_quic_enable_http3_metadata_decoding, true)
// If true, use BBRv2 as the default congestion controller. Takes precedence over --quic_default_to_bbr.
QUIC_FLAG(quic_reloadable_flag_quic_default_to_bbr_v2, false)
// If true, use a LRU cache to record client addresses of packets received on server\'s original address.