| Index: net/quic/quic_write_blocked_list_test.cc
|
| diff --git a/net/quic/quic_write_blocked_list_test.cc b/net/quic/quic_write_blocked_list_test.cc
|
| index 47fe5191b797d904bcf2fec030dfc7819a9f53a4..d20a551669abd5f54c66bf907acc116223228f18 100644
|
| --- a/net/quic/quic_write_blocked_list_test.cc
|
| +++ b/net/quic/quic_write_blocked_list_test.cc
|
| @@ -7,6 +7,12 @@
|
| #include "net/quic/test_tools/quic_test_utils.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| +using net::kLowestPriority;
|
| +using net::kHighestPriority;
|
| +
|
| +using net::kLowestPriority;
|
| +using net::kHighestPriority;
|
| +
|
| namespace net {
|
| namespace test {
|
| namespace {
|
| @@ -16,16 +22,11 @@ TEST(QuicWriteBlockedListTest, PriorityOrder) {
|
|
|
| // Mark streams blocked in roughly reverse priority order, and
|
| // verify that streams are sorted.
|
| - write_blocked_list.AddStream(40,
|
| - QuicWriteBlockedList::kLowestPriority);
|
| - write_blocked_list.AddStream(23,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| - write_blocked_list.AddStream(17,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| - write_blocked_list.AddStream(kHeadersStreamId,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| - write_blocked_list.AddStream(kCryptoStreamId,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| + write_blocked_list.AddStream(40, net::kLowestPriority);
|
| + write_blocked_list.AddStream(23, net::kHighestPriority);
|
| + write_blocked_list.AddStream(17, net::kHighestPriority);
|
| + write_blocked_list.AddStream(kHeadersStreamId, net::kHighestPriority);
|
| + write_blocked_list.AddStream(kCryptoStreamId, net::kHighestPriority);
|
|
|
| EXPECT_EQ(5u, write_blocked_list.NumBlockedStreams());
|
| EXPECT_TRUE(write_blocked_list.HasWriteBlockedCryptoOrHeadersStream());
|
| @@ -47,8 +48,7 @@ TEST(QuicWriteBlockedListTest, PriorityOrder) {
|
|
|
| TEST(QuicWriteBlockedListTest, CryptoStream) {
|
| QuicWriteBlockedList write_blocked_list;
|
| - write_blocked_list.AddStream(kCryptoStreamId,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| + write_blocked_list.AddStream(kCryptoStreamId, net::kHighestPriority);
|
|
|
| EXPECT_EQ(1u, write_blocked_list.NumBlockedStreams());
|
| EXPECT_TRUE(write_blocked_list.HasWriteBlockedCryptoOrHeadersStream());
|
| @@ -59,8 +59,7 @@ TEST(QuicWriteBlockedListTest, CryptoStream) {
|
|
|
| TEST(QuicWriteBlockedListTest, HeadersStream) {
|
| QuicWriteBlockedList write_blocked_list;
|
| - write_blocked_list.AddStream(kHeadersStreamId,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| + write_blocked_list.AddStream(kHeadersStreamId, net::kHighestPriority);
|
|
|
| EXPECT_EQ(1u, write_blocked_list.NumBlockedStreams());
|
| EXPECT_TRUE(write_blocked_list.HasWriteBlockedCryptoOrHeadersStream());
|
| @@ -71,10 +70,8 @@ TEST(QuicWriteBlockedListTest, HeadersStream) {
|
|
|
| TEST(QuicWriteBlockedListTest, VerifyHeadersStream) {
|
| QuicWriteBlockedList write_blocked_list;
|
| - write_blocked_list.AddStream(5,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| - write_blocked_list.AddStream(kHeadersStreamId,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| + write_blocked_list.AddStream(5, net::kHighestPriority);
|
| + write_blocked_list.AddStream(kHeadersStreamId, net::kHighestPriority);
|
|
|
| EXPECT_EQ(2u, write_blocked_list.NumBlockedStreams());
|
| EXPECT_TRUE(write_blocked_list.HasWriteBlockedCryptoOrHeadersStream());
|
| @@ -95,12 +92,9 @@ TEST(QuicWriteBlockedListTest, NoDuplicateEntries) {
|
| // Try to add a stream to the write blocked list multiple times at the same
|
| // priority.
|
| const QuicStreamId kBlockedId = kClientDataStreamId1;
|
| - write_blocked_list.AddStream(kBlockedId,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| - write_blocked_list.AddStream(kBlockedId,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| - write_blocked_list.AddStream(kBlockedId,
|
| - QuicWriteBlockedList::kHighestPriority);
|
| + write_blocked_list.AddStream(kBlockedId, net::kHighestPriority);
|
| + write_blocked_list.AddStream(kBlockedId, net::kHighestPriority);
|
| + write_blocked_list.AddStream(kBlockedId, net::kHighestPriority);
|
|
|
| // This should only result in one blocked stream being added.
|
| EXPECT_EQ(1u, write_blocked_list.NumBlockedStreams());
|
| @@ -119,45 +113,50 @@ TEST(QuicWriteBlockedListTest, BatchingWrites) {
|
| const QuicStreamId id1 = kClientDataStreamId1;
|
| const QuicStreamId id2 = kClientDataStreamId2;
|
|
|
| - write_blocked_list.AddStream(id1, QuicWriteBlockedList::kLowestPriority);
|
| - write_blocked_list.AddStream(id2, QuicWriteBlockedList::kLowestPriority);
|
| + write_blocked_list.AddStream(id1, net::kLowestPriority);
|
| + write_blocked_list.AddStream(id2, net::kLowestPriority);
|
| EXPECT_EQ(2u, write_blocked_list.NumBlockedStreams());
|
|
|
| // The first stream we push back should stay at the front until 16k is
|
| // written.
|
| EXPECT_EQ(id1, write_blocked_list.PopFront());
|
| + write_blocked_list.AddStream(id1, net::kHighestPriority);
|
| write_blocked_list.UpdateBytesForStream(id1, 15999);
|
| - write_blocked_list.AddStream(id1, QuicWriteBlockedList::kLowestPriority);
|
| + write_blocked_list.AddStream(id1, net::kLowestPriority);
|
| EXPECT_EQ(2u, write_blocked_list.NumBlockedStreams());
|
| EXPECT_EQ(id1, write_blocked_list.PopFront());
|
|
|
| // Once 16k is written the first stream will cede to the next.
|
| + write_blocked_list.AddStream(id1, net::kHighestPriority);
|
| write_blocked_list.UpdateBytesForStream(id1, 1);
|
| - write_blocked_list.AddStream(id1, QuicWriteBlockedList::kLowestPriority);
|
| + write_blocked_list.AddStream(id1, net::kLowestPriority);
|
| EXPECT_EQ(2u, write_blocked_list.NumBlockedStreams());
|
| EXPECT_EQ(id2, write_blocked_list.PopFront());
|
|
|
| // Set the new stream to have written all but one byte.
|
| + write_blocked_list.AddStream(id2, net::kHighestPriority);
|
| write_blocked_list.UpdateBytesForStream(id2, 15999);
|
| - write_blocked_list.AddStream(id2, QuicWriteBlockedList::kLowestPriority);
|
| + write_blocked_list.AddStream(id2, net::kLowestPriority);
|
| EXPECT_EQ(2u, write_blocked_list.NumBlockedStreams());
|
|
|
| // Ensure higher priority streams are popped first.
|
| const QuicStreamId id3 = kClientDataStreamId2 + 2;
|
| - write_blocked_list.AddStream(id3, QuicWriteBlockedList::kHighestPriority);
|
| + write_blocked_list.AddStream(id3, net::kHighestPriority);
|
| EXPECT_EQ(id3, write_blocked_list.PopFront());
|
|
|
| // Higher priority streams will always be popped first, even if using their
|
| // byte quota
|
| + write_blocked_list.AddStream(id3, net::kHighestPriority);
|
| write_blocked_list.UpdateBytesForStream(id1, 20000);
|
| - write_blocked_list.AddStream(id3, QuicWriteBlockedList::kHighestPriority);
|
| + write_blocked_list.AddStream(id3, net::kHighestPriority);
|
| EXPECT_EQ(id3, write_blocked_list.PopFront());
|
|
|
| // Once the higher priority stream is out of the way, id2 will resume its 16k
|
| // write, with only 1 byte remaining of its guaranteed write allocation.
|
| EXPECT_EQ(id2, write_blocked_list.PopFront());
|
| + write_blocked_list.AddStream(id2, net::kHighestPriority);
|
| write_blocked_list.UpdateBytesForStream(id2, 1);
|
| - write_blocked_list.AddStream(id2, QuicWriteBlockedList::kLowestPriority);
|
| + write_blocked_list.AddStream(id2, net::kLowestPriority);
|
| EXPECT_EQ(2u, write_blocked_list.NumBlockedStreams());
|
| EXPECT_EQ(id1, write_blocked_list.PopFront());
|
| }
|
|
|