OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/memory/ref_counted.h" | 6 #include "base/memory/ref_counted.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/memory/weak_ptr.h" | 8 #include "base/memory/weak_ptr.h" |
9 #include "base/strings/string_piece.h" | 9 #include "base/strings/string_piece.h" |
10 #include "net/base/completion_callback.h" | 10 #include "net/base/completion_callback.h" |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 MockConnect connect_data(SYNCHRONOUS, OK); | 120 MockConnect connect_data(SYNCHRONOUS, OK); |
121 data.set_connect_data(connect_data); | 121 data.set_connect_data(connect_data); |
122 | 122 |
123 session_deps_.socket_factory->AddSocketDataProvider(&data); | 123 session_deps_.socket_factory->AddSocketDataProvider(&data); |
124 | 124 |
125 scoped_refptr<SpdySession> session(CreateSpdySession()); | 125 scoped_refptr<SpdySession> session(CreateSpdySession()); |
126 | 126 |
127 InitializeSpdySession(session, host_port_pair_); | 127 InitializeSpdySession(session, host_port_pair_); |
128 | 128 |
129 base::WeakPtr<SpdyStream> stream = | 129 base::WeakPtr<SpdyStream> stream = |
130 CreateStreamSynchronously(session, url, LOWEST, BoundNetLog()); | 130 CreateStreamSynchronously( |
| 131 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); |
131 ASSERT_TRUE(stream.get() != NULL); | 132 ASSERT_TRUE(stream.get() != NULL); |
132 | 133 |
133 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); | 134 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); |
134 stream->SetDelegate(&delegate); | 135 stream->SetDelegate(&delegate); |
135 | 136 |
136 EXPECT_FALSE(stream->HasUrl()); | 137 EXPECT_FALSE(stream->HasUrl()); |
137 | 138 |
138 scoped_ptr<SpdyHeaderBlock> headers( | 139 scoped_ptr<SpdyHeaderBlock> headers( |
139 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 140 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
140 EXPECT_EQ(ERR_IO_PENDING, | 141 EXPECT_EQ(ERR_IO_PENDING, |
(...skipping 22 matching lines...) Expand all Loading... |
163 OrderedSocketData data(reads, arraysize(reads), NULL, 0); | 164 OrderedSocketData data(reads, arraysize(reads), NULL, 0); |
164 MockConnect connect_data(SYNCHRONOUS, OK); | 165 MockConnect connect_data(SYNCHRONOUS, OK); |
165 data.set_connect_data(connect_data); | 166 data.set_connect_data(connect_data); |
166 | 167 |
167 session_deps_.socket_factory->AddSocketDataProvider(&data); | 168 session_deps_.socket_factory->AddSocketDataProvider(&data); |
168 | 169 |
169 InitializeSpdySession(spdy_session, host_port_pair_); | 170 InitializeSpdySession(spdy_session, host_port_pair_); |
170 BoundNetLog net_log; | 171 BoundNetLog net_log; |
171 | 172 |
172 // Conjure up a stream. | 173 // Conjure up a stream. |
173 SpdyStream stream(spdy_session, | 174 SpdyStream stream(SPDY_PUSH_STREAM, |
| 175 spdy_session, |
174 std::string(), | 176 std::string(), |
175 DEFAULT_PRIORITY, | 177 DEFAULT_PRIORITY, |
176 kSpdyStreamInitialWindowSize, | 178 kSpdyStreamInitialWindowSize, |
177 kSpdyStreamInitialWindowSize, | 179 kSpdyStreamInitialWindowSize, |
178 true, | |
179 net_log); | 180 net_log); |
180 stream.set_stream_id(2); | 181 stream.set_stream_id(2); |
181 EXPECT_FALSE(stream.response_received()); | 182 EXPECT_FALSE(stream.response_received()); |
182 EXPECT_FALSE(stream.HasUrl()); | 183 EXPECT_FALSE(stream.HasUrl()); |
183 | 184 |
184 // Set a couple of headers. | 185 // Set a couple of headers. |
185 SpdyHeaderBlock response; | 186 SpdyHeaderBlock response; |
186 GURL url(kStreamUrl); | 187 GURL url(kStreamUrl); |
187 response[":host"] = url.host(); | 188 response[":host"] = url.host(); |
188 response[":scheme"] = url.scheme(); | 189 response[":scheme"] = url.scheme(); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 MockConnect connect_data(SYNCHRONOUS, OK); | 237 MockConnect connect_data(SYNCHRONOUS, OK); |
237 data.set_connect_data(connect_data); | 238 data.set_connect_data(connect_data); |
238 | 239 |
239 session_deps_.socket_factory->AddSocketDataProvider(&data); | 240 session_deps_.socket_factory->AddSocketDataProvider(&data); |
240 | 241 |
241 scoped_refptr<SpdySession> session(CreateSpdySession()); | 242 scoped_refptr<SpdySession> session(CreateSpdySession()); |
242 | 243 |
243 InitializeSpdySession(session, host_port_pair_); | 244 InitializeSpdySession(session, host_port_pair_); |
244 | 245 |
245 base::WeakPtr<SpdyStream> stream = | 246 base::WeakPtr<SpdyStream> stream = |
246 CreateStreamSynchronously(session, url, LOWEST, log.bound()); | 247 CreateStreamSynchronously( |
| 248 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound()); |
247 ASSERT_TRUE(stream.get() != NULL); | 249 ASSERT_TRUE(stream.get() != NULL); |
248 | 250 |
249 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); | 251 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); |
250 stream->SetDelegate(&delegate); | 252 stream->SetDelegate(&delegate); |
251 | 253 |
252 EXPECT_FALSE(stream->HasUrl()); | 254 EXPECT_FALSE(stream->HasUrl()); |
253 | 255 |
254 scoped_ptr<SpdyHeaderBlock> headers( | 256 scoped_ptr<SpdyHeaderBlock> headers( |
255 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 257 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
256 EXPECT_EQ(ERR_IO_PENDING, | 258 EXPECT_EQ(ERR_IO_PENDING, |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 MockConnect connect_data(SYNCHRONOUS, OK); | 321 MockConnect connect_data(SYNCHRONOUS, OK); |
320 data.set_connect_data(connect_data); | 322 data.set_connect_data(connect_data); |
321 | 323 |
322 session_deps_.socket_factory->AddSocketDataProvider(&data); | 324 session_deps_.socket_factory->AddSocketDataProvider(&data); |
323 | 325 |
324 scoped_refptr<SpdySession> session(CreateSpdySession()); | 326 scoped_refptr<SpdySession> session(CreateSpdySession()); |
325 | 327 |
326 InitializeSpdySession(session, host_port_pair_); | 328 InitializeSpdySession(session, host_port_pair_); |
327 | 329 |
328 base::WeakPtr<SpdyStream> stream = | 330 base::WeakPtr<SpdyStream> stream = |
329 CreateStreamSynchronously(session, url, LOWEST, BoundNetLog()); | 331 CreateStreamSynchronously( |
| 332 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); |
330 ASSERT_TRUE(stream.get() != NULL); | 333 ASSERT_TRUE(stream.get() != NULL); |
331 | 334 |
332 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); | 335 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); |
333 StreamDelegateWithBody delegate(stream, body_data); | 336 StreamDelegateWithBody delegate(stream, body_data); |
334 stream->SetDelegate(&delegate); | 337 stream->SetDelegate(&delegate); |
335 | 338 |
336 EXPECT_FALSE(stream->HasUrl()); | 339 EXPECT_FALSE(stream->HasUrl()); |
337 | 340 |
338 scoped_ptr<SpdyHeaderBlock> headers( | 341 scoped_ptr<SpdyHeaderBlock> headers( |
339 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 342 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 MockConnect connect_data(SYNCHRONOUS, OK); | 385 MockConnect connect_data(SYNCHRONOUS, OK); |
383 data.set_connect_data(connect_data); | 386 data.set_connect_data(connect_data); |
384 | 387 |
385 session_deps_.socket_factory->AddSocketDataProvider(&data); | 388 session_deps_.socket_factory->AddSocketDataProvider(&data); |
386 | 389 |
387 scoped_refptr<SpdySession> session(CreateSpdySession()); | 390 scoped_refptr<SpdySession> session(CreateSpdySession()); |
388 | 391 |
389 InitializeSpdySession(session, host_port_pair_); | 392 InitializeSpdySession(session, host_port_pair_); |
390 | 393 |
391 base::WeakPtr<SpdyStream> stream = | 394 base::WeakPtr<SpdyStream> stream = |
392 CreateStreamSynchronously(session, url, LOWEST, BoundNetLog()); | 395 CreateStreamSynchronously( |
| 396 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); |
393 ASSERT_TRUE(stream.get() != NULL); | 397 ASSERT_TRUE(stream.get() != NULL); |
394 | 398 |
395 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); | 399 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); |
396 StreamDelegateSendImmediate delegate(stream, body_data); | 400 StreamDelegateSendImmediate delegate(stream, body_data); |
397 stream->SetDelegate(&delegate); | 401 stream->SetDelegate(&delegate); |
398 | 402 |
399 EXPECT_FALSE(stream->HasUrl()); | 403 EXPECT_FALSE(stream->HasUrl()); |
400 | 404 |
401 scoped_ptr<SpdyHeaderBlock> headers( | 405 scoped_ptr<SpdyHeaderBlock> headers( |
402 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 406 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
444 data.set_connect_data(connect_data); | 448 data.set_connect_data(connect_data); |
445 | 449 |
446 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data); | 450 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data); |
447 | 451 |
448 scoped_refptr<SpdySession> session(CreateSpdySession()); | 452 scoped_refptr<SpdySession> session(CreateSpdySession()); |
449 GURL url(kStreamUrl); | 453 GURL url(kStreamUrl); |
450 | 454 |
451 InitializeSpdySession(session, host_port_pair_); | 455 InitializeSpdySession(session, host_port_pair_); |
452 | 456 |
453 base::WeakPtr<SpdyStream> stream = | 457 base::WeakPtr<SpdyStream> stream = |
454 CreateStreamSynchronously(session, url, LOWEST, log.bound()); | 458 CreateStreamSynchronously( |
| 459 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound()); |
455 ASSERT_TRUE(stream.get() != NULL); | 460 ASSERT_TRUE(stream.get() != NULL); |
456 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); | 461 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); |
457 stream->SetDelegate(&delegate); | 462 stream->SetDelegate(&delegate); |
458 | 463 |
459 scoped_ptr<SpdyHeaderBlock> headers( | 464 scoped_ptr<SpdyHeaderBlock> headers( |
460 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 465 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
461 EXPECT_EQ(ERR_IO_PENDING, | 466 EXPECT_EQ(ERR_IO_PENDING, |
462 stream->SendRequestHeaders(headers.Pass(), MORE_DATA_TO_SEND)); | 467 stream->SendRequestHeaders(headers.Pass(), MORE_DATA_TO_SEND)); |
463 EXPECT_TRUE(stream->HasUrl()); | 468 EXPECT_TRUE(stream->HasUrl()); |
464 EXPECT_EQ(kStreamUrl, stream->GetUrl().spec()); | 469 EXPECT_EQ(kStreamUrl, stream->GetUrl().spec()); |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
536 MockConnect connect_data(SYNCHRONOUS, OK); | 541 MockConnect connect_data(SYNCHRONOUS, OK); |
537 data.set_connect_data(connect_data); | 542 data.set_connect_data(connect_data); |
538 | 543 |
539 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data); | 544 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data); |
540 | 545 |
541 scoped_refptr<SpdySession> session(CreateSpdySession()); | 546 scoped_refptr<SpdySession> session(CreateSpdySession()); |
542 | 547 |
543 InitializeSpdySession(session, host_port_pair_); | 548 InitializeSpdySession(session, host_port_pair_); |
544 | 549 |
545 base::WeakPtr<SpdyStream> stream = | 550 base::WeakPtr<SpdyStream> stream = |
546 CreateStreamSynchronously(session, url, LOWEST, BoundNetLog()); | 551 CreateStreamSynchronously( |
| 552 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); |
547 ASSERT_TRUE(stream.get() != NULL); | 553 ASSERT_TRUE(stream.get() != NULL); |
548 | 554 |
549 StreamDelegateWithBody delegate(stream, kPostBodyStringPiece); | 555 StreamDelegateWithBody delegate(stream, kPostBodyStringPiece); |
550 stream->SetDelegate(&delegate); | 556 stream->SetDelegate(&delegate); |
551 | 557 |
552 EXPECT_FALSE(stream->HasUrl()); | 558 EXPECT_FALSE(stream->HasUrl()); |
553 EXPECT_FALSE(stream->send_stalled_by_flow_control()); | 559 EXPECT_FALSE(stream->send_stalled_by_flow_control()); |
554 | 560 |
555 scoped_ptr<SpdyHeaderBlock> headers( | 561 scoped_ptr<SpdyHeaderBlock> headers( |
556 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 562 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 MockConnect connect_data(SYNCHRONOUS, OK); | 629 MockConnect connect_data(SYNCHRONOUS, OK); |
624 data.set_connect_data(connect_data); | 630 data.set_connect_data(connect_data); |
625 | 631 |
626 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data); | 632 session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data); |
627 | 633 |
628 scoped_refptr<SpdySession> session(CreateSpdySession()); | 634 scoped_refptr<SpdySession> session(CreateSpdySession()); |
629 | 635 |
630 InitializeSpdySession(session, host_port_pair_); | 636 InitializeSpdySession(session, host_port_pair_); |
631 | 637 |
632 base::WeakPtr<SpdyStream> stream = | 638 base::WeakPtr<SpdyStream> stream = |
633 CreateStreamSynchronously(session, url, LOWEST, BoundNetLog()); | 639 CreateStreamSynchronously( |
| 640 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); |
634 ASSERT_TRUE(stream.get() != NULL); | 641 ASSERT_TRUE(stream.get() != NULL); |
635 | 642 |
636 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); | 643 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); |
637 stream->SetDelegate(&delegate); | 644 stream->SetDelegate(&delegate); |
638 | 645 |
639 EXPECT_FALSE(stream->HasUrl()); | 646 EXPECT_FALSE(stream->HasUrl()); |
640 | 647 |
641 scoped_ptr<SpdyHeaderBlock> headers( | 648 scoped_ptr<SpdyHeaderBlock> headers( |
642 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 649 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
643 EXPECT_EQ(ERR_IO_PENDING, | 650 EXPECT_EQ(ERR_IO_PENDING, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
679 TEST_F(SpdyStreamSpdy3Test, ResumeAfterSendWindowSizeAdjustBidirectional) { | 686 TEST_F(SpdyStreamSpdy3Test, ResumeAfterSendWindowSizeAdjustBidirectional) { |
680 RunResumeAfterUnstallBidirectionalTest( | 687 RunResumeAfterUnstallBidirectionalTest( |
681 base::Bind(&AdjustStreamSendWindowSize)); | 688 base::Bind(&AdjustStreamSendWindowSize)); |
682 } | 689 } |
683 | 690 |
684 } // namespace | 691 } // namespace |
685 | 692 |
686 } // namespace test | 693 } // namespace test |
687 | 694 |
688 } // namespace net | 695 } // namespace net |
OLD | NEW |