gfe-relnote: (n/a) Add QuicBandwidth::IsInfinite(). Not used yet. PiperOrigin-RevId: 247668009 Change-Id: Ie60f8c6d5cd2b53bf01586d2bab814a810cc5eda
diff --git a/quic/core/quic_bandwidth.h b/quic/core/quic_bandwidth.h index 5b74744..fe043b0 100644 --- a/quic/core/quic_bandwidth.h +++ b/quic/core/quic_bandwidth.h
@@ -77,6 +77,9 @@ } inline bool IsZero() const { return bits_per_second_ == 0; } + inline bool IsInfinite() const { + return bits_per_second_ == Infinite().ToBitsPerSecond(); + } inline QuicTime::Delta TransferTime(QuicByteCount bytes) const { if (bits_per_second_ == 0) {
diff --git a/quic/core/quic_bandwidth_test.cc b/quic/core/quic_bandwidth_test.cc index ed23dac..7f9535e 100644 --- a/quic/core/quic_bandwidth_test.cc +++ b/quic/core/quic_bandwidth_test.cc
@@ -3,6 +3,9 @@ // found in the LICENSE file. #include "net/third_party/quiche/src/quic/core/quic_bandwidth.h" + +#include <limits> + #include "net/third_party/quiche/src/quic/core/quic_time.h" #include "net/third_party/quiche/src/quic/platform/api/quic_test.h" @@ -118,5 +121,17 @@ EXPECT_EQ("400.00 Gbits/s (50.00 Gbytes/s)", bandwidth.ToDebugValue()); } +TEST_F(QuicBandwidthTest, SpecialValues) { + EXPECT_EQ(0, QuicBandwidth::Zero().ToBitsPerSecond()); + EXPECT_EQ(std::numeric_limits<int64_t>::max(), + QuicBandwidth::Infinite().ToBitsPerSecond()); + + EXPECT_TRUE(QuicBandwidth::Zero().IsZero()); + EXPECT_FALSE(QuicBandwidth::Zero().IsInfinite()); + + EXPECT_TRUE(QuicBandwidth::Infinite().IsInfinite()); + EXPECT_FALSE(QuicBandwidth::Infinite().IsZero()); +} + } // namespace test } // namespace quic