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

Side by Side Diff: net/spdy/spdy_write_queue_unittest.cc

Issue 16207005: Fix remaining uses of WeakPtr<T>'s operator T* conversion (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « net/socket/ssl_client_socket_nss.cc ('k') | webkit/browser/quota/quota_manager.cc » ('j') | 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/spdy_write_queue.h" 5 #include "net/spdy/spdy_write_queue.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 #include <cstring> 8 #include <cstring>
9 #include <string> 9 #include <string>
10 10
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 write_queue.Enqueue( 87 write_queue.Enqueue(
88 HIGHEST, RST_STREAM, producer_highest.Pass(), 88 HIGHEST, RST_STREAM, producer_highest.Pass(),
89 stream_highest->GetWeakPtr()); 89 stream_highest->GetWeakPtr());
90 90
91 SpdyFrameType frame_type = DATA; 91 SpdyFrameType frame_type = DATA;
92 scoped_ptr<SpdyBufferProducer> frame_producer; 92 scoped_ptr<SpdyBufferProducer> frame_producer;
93 base::WeakPtr<SpdyStream> stream; 93 base::WeakPtr<SpdyStream> stream;
94 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 94 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
95 EXPECT_EQ(RST_STREAM, frame_type); 95 EXPECT_EQ(RST_STREAM, frame_type);
96 EXPECT_EQ("HIGHEST", ProducerToString(frame_producer.Pass())); 96 EXPECT_EQ("HIGHEST", ProducerToString(frame_producer.Pass()));
97 EXPECT_EQ(stream_highest, stream); 97 EXPECT_EQ(stream_highest, stream.get());
98 98
99 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 99 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
100 EXPECT_EQ(SYN_REPLY, frame_type); 100 EXPECT_EQ(SYN_REPLY, frame_type);
101 EXPECT_EQ("MEDIUM", ProducerToString(frame_producer.Pass())); 101 EXPECT_EQ("MEDIUM", ProducerToString(frame_producer.Pass()));
102 EXPECT_EQ(stream_medium, stream); 102 EXPECT_EQ(stream_medium, stream.get());
103 103
104 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 104 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
105 EXPECT_EQ(SYN_STREAM, frame_type); 105 EXPECT_EQ(SYN_STREAM, frame_type);
106 EXPECT_EQ("LOW", ProducerToString(frame_producer.Pass())); 106 EXPECT_EQ("LOW", ProducerToString(frame_producer.Pass()));
107 EXPECT_EQ(NULL, stream.get()); 107 EXPECT_EQ(NULL, stream.get());
108 108
109 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 109 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
110 } 110 }
111 111
112 // Add some frame producers with the same priority. The producers 112 // Add some frame producers with the same priority. The producers
(...skipping 15 matching lines...) Expand all
128 stream2->GetWeakPtr()); 128 stream2->GetWeakPtr());
129 write_queue.Enqueue(DEFAULT_PRIORITY, RST_STREAM, producer3.Pass(), 129 write_queue.Enqueue(DEFAULT_PRIORITY, RST_STREAM, producer3.Pass(),
130 stream3->GetWeakPtr()); 130 stream3->GetWeakPtr());
131 131
132 SpdyFrameType frame_type = DATA; 132 SpdyFrameType frame_type = DATA;
133 scoped_ptr<SpdyBufferProducer> frame_producer; 133 scoped_ptr<SpdyBufferProducer> frame_producer;
134 base::WeakPtr<SpdyStream> stream; 134 base::WeakPtr<SpdyStream> stream;
135 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 135 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
136 EXPECT_EQ(SYN_STREAM, frame_type); 136 EXPECT_EQ(SYN_STREAM, frame_type);
137 EXPECT_EQ(1, ProducerToInt(frame_producer.Pass())); 137 EXPECT_EQ(1, ProducerToInt(frame_producer.Pass()));
138 EXPECT_EQ(stream1, stream); 138 EXPECT_EQ(stream1, stream.get());
139 139
140 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 140 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
141 EXPECT_EQ(SYN_REPLY, frame_type); 141 EXPECT_EQ(SYN_REPLY, frame_type);
142 EXPECT_EQ(2, ProducerToInt(frame_producer.Pass())); 142 EXPECT_EQ(2, ProducerToInt(frame_producer.Pass()));
143 EXPECT_EQ(stream2, stream); 143 EXPECT_EQ(stream2, stream.get());
144 144
145 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 145 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
146 EXPECT_EQ(RST_STREAM, frame_type); 146 EXPECT_EQ(RST_STREAM, frame_type);
147 EXPECT_EQ(3, ProducerToInt(frame_producer.Pass())); 147 EXPECT_EQ(3, ProducerToInt(frame_producer.Pass()));
148 EXPECT_EQ(stream3, stream); 148 EXPECT_EQ(stream3, stream.get());
149 149
150 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 150 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
151 } 151 }
152 152
153 // Enqueue a bunch of writes and then call 153 // Enqueue a bunch of writes and then call
154 // RemovePendingWritesForStream() on one of the streams. No dequeued 154 // RemovePendingWritesForStream() on one of the streams. No dequeued
155 // write should be for that stream. 155 // write should be for that stream.
156 TEST_F(SpdyWriteQueueTest, RemovePendingWritesForStream) { 156 TEST_F(SpdyWriteQueueTest, RemovePendingWritesForStream) {
157 SpdyWriteQueue write_queue; 157 SpdyWriteQueue write_queue;
158 158
159 scoped_ptr<SpdyStream> stream1(MakeTestStream(DEFAULT_PRIORITY)); 159 scoped_ptr<SpdyStream> stream1(MakeTestStream(DEFAULT_PRIORITY));
160 scoped_ptr<SpdyStream> stream2(MakeTestStream(DEFAULT_PRIORITY)); 160 scoped_ptr<SpdyStream> stream2(MakeTestStream(DEFAULT_PRIORITY));
161 161
162 for (int i = 0; i < 100; ++i) { 162 for (int i = 0; i < 100; ++i) {
163 base::WeakPtr<SpdyStream> stream = 163 base::WeakPtr<SpdyStream> stream =
164 (((i % 3) == 0) ? stream1 : stream2)->GetWeakPtr(); 164 (((i % 3) == 0) ? stream1 : stream2)->GetWeakPtr();
165 write_queue.Enqueue(DEFAULT_PRIORITY, SYN_STREAM, IntToProducer(i), stream); 165 write_queue.Enqueue(DEFAULT_PRIORITY, SYN_STREAM, IntToProducer(i), stream);
166 } 166 }
167 167
168 write_queue.RemovePendingWritesForStream(stream2->GetWeakPtr()); 168 write_queue.RemovePendingWritesForStream(stream2->GetWeakPtr());
169 169
170 for (int i = 0; i < 100; i += 3) { 170 for (int i = 0; i < 100; i += 3) {
171 SpdyFrameType frame_type = DATA; 171 SpdyFrameType frame_type = DATA;
172 scoped_ptr<SpdyBufferProducer> frame_producer; 172 scoped_ptr<SpdyBufferProducer> frame_producer;
173 base::WeakPtr<SpdyStream> stream; 173 base::WeakPtr<SpdyStream> stream;
174 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 174 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
175 EXPECT_EQ(SYN_STREAM, frame_type); 175 EXPECT_EQ(SYN_STREAM, frame_type);
176 EXPECT_EQ(i, ProducerToInt(frame_producer.Pass())); 176 EXPECT_EQ(i, ProducerToInt(frame_producer.Pass()));
177 EXPECT_EQ(stream1, stream); 177 EXPECT_EQ(stream1, stream.get());
178 } 178 }
179 179
180 SpdyFrameType frame_type = DATA; 180 SpdyFrameType frame_type = DATA;
181 scoped_ptr<SpdyBufferProducer> frame_producer; 181 scoped_ptr<SpdyBufferProducer> frame_producer;
182 base::WeakPtr<SpdyStream> stream; 182 base::WeakPtr<SpdyStream> stream;
183 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 183 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
184 } 184 }
185 185
186 // Enqueue a bunch of writes and then call 186 // Enqueue a bunch of writes and then call
187 // RemovePendingWritesForStreamsAfter(). No dequeued write should be for 187 // RemovePendingWritesForStreamsAfter(). No dequeued write should be for
(...skipping 23 matching lines...) Expand all
211 write_queue.RemovePendingWritesForStreamsAfter(stream1->stream_id()); 211 write_queue.RemovePendingWritesForStreamsAfter(stream1->stream_id());
212 212
213 for (int i = 0; i < 100; i += arraysize(streams)) { 213 for (int i = 0; i < 100; i += arraysize(streams)) {
214 SpdyFrameType frame_type = DATA; 214 SpdyFrameType frame_type = DATA;
215 scoped_ptr<SpdyBufferProducer> frame_producer; 215 scoped_ptr<SpdyBufferProducer> frame_producer;
216 base::WeakPtr<SpdyStream> stream; 216 base::WeakPtr<SpdyStream> stream;
217 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)) 217 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream))
218 << "Unable to Dequeue i: " << i; 218 << "Unable to Dequeue i: " << i;
219 EXPECT_EQ(SYN_STREAM, frame_type); 219 EXPECT_EQ(SYN_STREAM, frame_type);
220 EXPECT_EQ(i, ProducerToInt(frame_producer.Pass())); 220 EXPECT_EQ(i, ProducerToInt(frame_producer.Pass()));
221 EXPECT_EQ(stream1, stream); 221 EXPECT_EQ(stream1, stream.get());
222 } 222 }
223 223
224 SpdyFrameType frame_type = DATA; 224 SpdyFrameType frame_type = DATA;
225 scoped_ptr<SpdyBufferProducer> frame_producer; 225 scoped_ptr<SpdyBufferProducer> frame_producer;
226 base::WeakPtr<SpdyStream> stream; 226 base::WeakPtr<SpdyStream> stream;
227 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 227 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
228 } 228 }
229 229
230 // Enqueue a bunch of writes and then call Clear(). The write queue 230 // Enqueue a bunch of writes and then call Clear(). The write queue
231 // should clean up the memory properly, and Dequeue() should return 231 // should clean up the memory properly, and Dequeue() should return
(...skipping 10 matching lines...) Expand all
242 242
243 SpdyFrameType frame_type = DATA; 243 SpdyFrameType frame_type = DATA;
244 scoped_ptr<SpdyBufferProducer> frame_producer; 244 scoped_ptr<SpdyBufferProducer> frame_producer;
245 base::WeakPtr<SpdyStream> stream; 245 base::WeakPtr<SpdyStream> stream;
246 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 246 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
247 } 247 }
248 248
249 } // namespace 249 } // namespace
250 250
251 } // namespace net 251 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/ssl_client_socket_nss.cc ('k') | webkit/browser/quota/quota_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698