Internal change PiperOrigin-RevId: 486232020
diff --git a/quiche/quic/core/quic_interval_set.h b/quiche/quic/core/quic_interval_set.h index 7de0362..11d0270 100644 --- a/quiche/quic/core/quic_interval_set.h +++ b/quiche/quic/core/quic_interval_set.h
@@ -55,13 +55,15 @@ #include <algorithm> #include <initializer_list> #include <set> +#include <sstream> #include <string> #include <utility> #include <vector> #include "quiche/quic/core/quic_interval.h" -#include "quiche/quic/platform/api/quic_logging.h" +#include "quiche/quic/platform/api/quic_flags.h" #include "quiche/common/platform/api/quiche_containers.h" +#include "quiche/common/platform/api/quiche_logging.h" namespace quic { @@ -126,7 +128,7 @@ // Same semantics as Add(const value_type&), but optimized for the case where // rbegin()->min() <= |interval|.min() <= rbegin()->max(). void AddOptimizedForAppend(const value_type& interval) { - if (Empty()) { + if (Empty() || !GetQuicFlag(quic_interval_set_enable_add_optimization)) { Add(interval); return; }
diff --git a/quiche/quic/core/quic_protocol_flags_list.h b/quiche/quic/core/quic_protocol_flags_list.h index a94fbc6..1c92890 100644 --- a/quiche/quic/core/quic_protocol_flags_list.h +++ b/quiche/quic/core/quic_protocol_flags_list.h
@@ -218,4 +218,8 @@ QUIC_PROTOCOL_FLAG(bool, quic_bounded_crypto_send_buffer, false, "If true, close the connection if a crypto send buffer " "exceeds its size limit.") + +QUIC_PROTOCOL_FLAG(bool, quic_interval_set_enable_add_optimization, true, + "If true, enable an optimization in QuicIntervalSet") + #endif