Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Side by Side Diff: net/spdy/core/lifo_write_scheduler_test.cc

Issue 2849983002: Revert of Enable HTTP/2 to use a LIFO scheduler to schedule write. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/spdy/core/lifo_write_scheduler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/spdy/core/lifo_write_scheduler.h" 5 #include "net/spdy/core/lifo_write_scheduler.h"
6 6
7 #include "net/spdy/core/spdy_protocol.h" 7 #include "net/spdy/core/spdy_protocol.h"
8 #include "net/spdy/core/spdy_test_utils.h" 8 #include "net/spdy/core/spdy_test_utils.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 lifo.MarkStreamReady(9, true); 54 lifo.MarkStreamReady(9, true);
55 lifo.MarkStreamReady(15, true); 55 lifo.MarkStreamReady(15, true);
56 lifo.MarkStreamReady(7, true); 56 lifo.MarkStreamReady(7, true);
57 lifo.MarkStreamReady(13, true); 57 lifo.MarkStreamReady(13, true);
58 lifo.MarkStreamReady(11, true); 58 lifo.MarkStreamReady(11, true);
59 lifo.MarkStreamReady(3, true); 59 lifo.MarkStreamReady(3, true);
60 lifo.MarkStreamReady(17, true); 60 lifo.MarkStreamReady(17, true);
61 EXPECT_TRUE(lifo.HasReadyStreams()); 61 EXPECT_TRUE(lifo.HasReadyStreams());
62 EXPECT_EQ((uint32_t)7, lifo.NumReadyStreams()); 62 EXPECT_EQ((uint32_t)7, lifo.NumReadyStreams());
63 63
64 // Verify MarkStream(Not)Ready() can be called multiple times for the same 64 EXPECT_SPDY_BUG(lifo.MarkStreamReady(11, true),
65 // stream. 65 "Stream already exists in the list");
66 lifo.MarkStreamReady(11, true); 66 EXPECT_SPDY_BUG(lifo.MarkStreamNotReady(5),
67 lifo.MarkStreamNotReady(5); 67 "Try to remove a stream that is not on list");
68 lifo.MarkStreamNotReady(21); 68 EXPECT_SPDY_BUG(lifo.MarkStreamNotReady(21),
69 "Try to remove a stream that is not on list");
69 70
70 EXPECT_EQ((uint32_t)17, lifo.PopNextReadyStream()); 71 EXPECT_EQ((uint32_t)17, lifo.PopNextReadyStream());
71 EXPECT_EQ((uint32_t)15, std::get<0>(lifo.PopNextReadyStreamAndPrecedence())); 72 EXPECT_EQ((uint32_t)15, std::get<0>(lifo.PopNextReadyStreamAndPrecedence()));
72 EXPECT_TRUE(lifo.ShouldYield(9)); 73 EXPECT_TRUE(lifo.ShouldYield(9));
73 EXPECT_FALSE(lifo.ShouldYield(13)); 74 EXPECT_FALSE(lifo.ShouldYield(13));
74 EXPECT_FALSE(lifo.ShouldYield(15)); 75 EXPECT_FALSE(lifo.ShouldYield(15));
75 76
76 lifo.MarkStreamNotReady(3); 77 lifo.MarkStreamNotReady(3);
77 EXPECT_TRUE(peer.GetReadyList()->find(3) == peer.GetReadyList()->end()); 78 EXPECT_TRUE(peer.GetReadyList()->find(3) == peer.GetReadyList()->end());
78 lifo.MarkStreamNotReady(13); 79 lifo.MarkStreamNotReady(13);
79 EXPECT_TRUE(peer.GetReadyList()->find(13) == peer.GetReadyList()->end()); 80 EXPECT_TRUE(peer.GetReadyList()->find(13) == peer.GetReadyList()->end());
80 lifo.MarkStreamNotReady(7); 81 lifo.MarkStreamNotReady(7);
81 EXPECT_TRUE(peer.GetReadyList()->find(7) == peer.GetReadyList()->end()); 82 EXPECT_TRUE(peer.GetReadyList()->find(7) == peer.GetReadyList()->end());
82 EXPECT_EQ((uint32_t)2, lifo.NumReadyStreams()); 83 EXPECT_EQ((uint32_t)2, lifo.NumReadyStreams());
83
84 lifo.MarkStreamNotReady(9);
85 lifo.MarkStreamNotReady(11);
86 EXPECT_FALSE(lifo.ShouldYield(1));
87 } 84 }
88 85
89 // Test add and remove from registered list. 86 // Test add and remove from registered list.
90 TEST(LifoWriteSchedulerTest, RegisterListTest) { 87 TEST(LifoWriteSchedulerTest, RegisterListTest) {
91 LifoWriteScheduler<SpdyStreamId> lifo; 88 LifoWriteScheduler<SpdyStreamId> lifo;
92 LifoWriteSchedulerPeer<SpdyStreamId> peer(&lifo); 89 LifoWriteSchedulerPeer<SpdyStreamId> peer(&lifo);
93 SpdyStreamPrecedence precedence(1); 90 SpdyStreamPrecedence precedence(1);
94 lifo.RegisterStream(3, precedence); 91 lifo.RegisterStream(3, precedence);
95 lifo.RegisterStream(5, precedence); 92 lifo.RegisterStream(5, precedence);
96 lifo.RegisterStream(7, precedence); 93 lifo.RegisterStream(7, precedence);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 EXPECT_EQ(3, lifo.GetLatestEventWithPrecedence(5)); 137 EXPECT_EQ(3, lifo.GetLatestEventWithPrecedence(5));
141 EXPECT_EQ(4, lifo.GetLatestEventWithPrecedence(3)); 138 EXPECT_EQ(4, lifo.GetLatestEventWithPrecedence(3));
142 EXPECT_EQ(8, lifo.GetLatestEventWithPrecedence(1)); 139 EXPECT_EQ(8, lifo.GetLatestEventWithPrecedence(1));
143 EXPECT_SPDY_BUG(lifo.GetLatestEventWithPrecedence(11), 140 EXPECT_SPDY_BUG(lifo.GetLatestEventWithPrecedence(11),
144 "Stream 11 is not registered"); 141 "Stream 11 is not registered");
145 } 142 }
146 143
147 } // namespace test 144 } // namespace test
148 145
149 } // namespace net 146 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/core/lifo_write_scheduler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698