Deprecate --gfe2_reloadable_flag_quic_do_not_evict_unacked_entry. See https://crbug.com/1441880. PiperOrigin-RevId: 543452125
diff --git a/quiche/quic/core/qpack/qpack_encoder.cc b/quiche/quic/core/qpack/qpack_encoder.cc index 7ac9519..9ee5226 100644 --- a/quiche/quic/core/qpack/qpack_encoder.cc +++ b/quiche/quic/core/qpack/qpack_encoder.cc
@@ -93,16 +93,11 @@ blocking_manager_.known_received_count(); // The index of the oldest entry that must not be evicted. Blocking entries - // must not be evicted. - uint64_t smallest_non_evictable_index = - blocking_manager_.smallest_blocking_index(); - // Additionally, unacknowledged entries must not be evicted, even if they have - // no outstanding references (see https://crbug.com/1441880 for more context). - if (GetQuicReloadableFlag(quic_do_not_evict_unacked_entry)) { - QUIC_RELOADABLE_FLAG_COUNT(quic_do_not_evict_unacked_entry); - smallest_non_evictable_index = - std::min(smallest_non_evictable_index, known_received_count); - } + // must not be evicted. Also, unacknowledged entries must not be evicted, + // even if they have no outstanding references (see https://crbug.com/1441880 + // for more context). + uint64_t smallest_non_evictable_index = std::min( + blocking_manager_.smallest_blocking_index(), known_received_count); // Only entries with index greater than or equal to |draining_index| are // allowed to be referenced.
diff --git a/quiche/quic/core/qpack/qpack_encoder_test.cc b/quiche/quic/core/qpack/qpack_encoder_test.cc index 0e59048..03d7a3f 100644 --- a/quiche/quic/core/qpack/qpack_encoder_test.cc +++ b/quiche/quic/core/qpack/qpack_encoder_test.cc
@@ -675,33 +675,14 @@ spdy::Http2HeaderBlock header_list2; header_list2["bar"] = "baz"; - if (GetQuicReloadableFlag(quic_do_not_evict_unacked_entry)) { - EXPECT_EQ(absl::HexStringToBytes("0000" // prefix - "23626172" // literal name "bar" - "0362617a"), // literal value "baz" - encoder_.EncodeHeaderList(/* stream_id = */ 2, header_list2, - &encoder_stream_sent_byte_count_)); + EXPECT_EQ(absl::HexStringToBytes("0000" // prefix + "23626172" // literal name "bar" + "0362617a"), // literal value "baz" + encoder_.EncodeHeaderList(/* stream_id = */ 2, header_list2, + &encoder_stream_sent_byte_count_)); - EXPECT_EQ(1u, header_table->inserted_entry_count()); - EXPECT_EQ(0u, header_table->dropped_entry_count()); - } else { - // Insert one entry into the dynamic table, evicting the first entry. - std::string insert_entries2 = absl::HexStringToBytes( - "43" // insert without name reference - "626172" // name "bar" - "0362617a"); // value "baz" - EXPECT_CALL(encoder_stream_sender_delegate_, - WriteStreamData(Eq(insert_entries2))); - - EXPECT_EQ( - absl::HexStringToBytes("0100" // prefix - "80"), // dynamic entry with relative index 0 - encoder_.EncodeHeaderList(/* stream_id = */ 2, header_list2, - &encoder_stream_sent_byte_count_)); - - EXPECT_EQ(2u, header_table->inserted_entry_count()); - EXPECT_EQ(1u, header_table->dropped_entry_count()); - } + EXPECT_EQ(1u, header_table->inserted_entry_count()); + EXPECT_EQ(0u, header_table->dropped_entry_count()); } } // namespace
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h index 778269f..857fea7 100644 --- a/quiche/quic/core/quic_flags_list.h +++ b/quiche/quic/core/quic_flags_list.h
@@ -73,8 +73,6 @@ QUIC_FLAG(quic_restart_flag_quic_enable_sending_bandwidth_estimate_when_network_idle_v2, true) // If true, set burst token to 2 in cwnd bootstrapping experiment. QUIC_FLAG(quic_reloadable_flag_quic_conservative_bursts, false) -// If true, unacked QPACK entries with no references will not be evicted. -QUIC_FLAG(quic_reloadable_flag_quic_do_not_evict_unacked_entry, 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.