| 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 "net/spdy/spdy_session.h" | 5 #include "net/spdy/spdy_session.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); | 241 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); |
| 242 | 242 |
| 243 CreateDeterministicNetworkSession(); | 243 CreateDeterministicNetworkSession(); |
| 244 | 244 |
| 245 scoped_refptr<SpdySession> session = CreateInitializedSession(); | 245 scoped_refptr<SpdySession> session = CreateInitializedSession(); |
| 246 | 246 |
| 247 EXPECT_EQ(3, session->GetProtocolVersion()); | 247 EXPECT_EQ(3, session->GetProtocolVersion()); |
| 248 | 248 |
| 249 GURL url("http://www.google.com"); | 249 GURL url("http://www.google.com"); |
| 250 base::WeakPtr<SpdyStream> spdy_stream1 = | 250 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 251 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, | 251 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, |
| 252 session, url, MEDIUM, BoundNetLog()); | 252 session, url, MEDIUM, BoundNetLog()); |
| 253 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 254 spdy_stream1->SetDelegate(&delegate1); |
| 253 | 255 |
| 254 base::WeakPtr<SpdyStream> spdy_stream2 = | 256 base::WeakPtr<SpdyStream> spdy_stream2 = |
| 255 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, | 257 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, |
| 256 session, url, MEDIUM, BoundNetLog()); | 258 session, url, MEDIUM, BoundNetLog()); |
| 259 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 260 spdy_stream2->SetDelegate(&delegate2); |
| 257 | 261 |
| 258 scoped_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock); | 262 scoped_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock); |
| 259 (*headers)[":method"] = "GET"; | 263 (*headers)[":method"] = "GET"; |
| 260 (*headers)[":scheme"] = url.scheme(); | 264 (*headers)[":scheme"] = url.scheme(); |
| 261 (*headers)[":host"] = url.host(); | 265 (*headers)[":host"] = url.host(); |
| 262 (*headers)[":path"] = url.path(); | 266 (*headers)[":path"] = url.path(); |
| 263 (*headers)[":version"] = "HTTP/1.1"; | 267 (*headers)[":version"] = "HTTP/1.1"; |
| 264 scoped_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock); | 268 scoped_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock); |
| 265 *headers2 = *headers; | 269 *headers2 = *headers; |
| 266 | 270 |
| (...skipping 1043 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1310 SSLSocketDataProvider ssl(SYNCHRONOUS, OK); | 1314 SSLSocketDataProvider ssl(SYNCHRONOUS, OK); |
| 1311 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); | 1315 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); |
| 1312 | 1316 |
| 1313 CreateNetworkSession(); | 1317 CreateNetworkSession(); |
| 1314 | 1318 |
| 1315 scoped_refptr<SpdySession> session = CreateInitializedSession(); | 1319 scoped_refptr<SpdySession> session = CreateInitializedSession(); |
| 1316 | 1320 |
| 1317 GURL url("http://www.google.com"); | 1321 GURL url("http://www.google.com"); |
| 1318 | 1322 |
| 1319 base::WeakPtr<SpdyStream> spdy_stream1 = | 1323 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 1320 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, | 1324 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, |
| 1321 session, url, LOWEST, BoundNetLog()); | 1325 session, url, LOWEST, BoundNetLog()); |
| 1322 ASSERT_TRUE(spdy_stream1.get() != NULL); | 1326 ASSERT_TRUE(spdy_stream1.get() != NULL); |
| 1323 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 1327 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 1324 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 1328 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 1325 spdy_stream1->SetDelegate(&delegate1); | 1329 spdy_stream1->SetDelegate(&delegate1); |
| 1326 | 1330 |
| 1327 base::WeakPtr<SpdyStream> spdy_stream2 = | 1331 base::WeakPtr<SpdyStream> spdy_stream2 = |
| 1328 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, | 1332 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, |
| 1329 session, url, HIGHEST, BoundNetLog()); | 1333 session, url, HIGHEST, BoundNetLog()); |
| 1330 ASSERT_TRUE(spdy_stream2.get() != NULL); | 1334 ASSERT_TRUE(spdy_stream2.get() != NULL); |
| 1331 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1335 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 1332 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 1336 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 1333 spdy_stream2->SetDelegate(&delegate2); | 1337 spdy_stream2->SetDelegate(&delegate2); |
| 1334 | 1338 |
| 1335 scoped_ptr<SpdyHeaderBlock> headers( | 1339 scoped_ptr<SpdyHeaderBlock> headers( |
| 1336 spdy_util_.ConstructGetHeaderBlock(url.spec())); | 1340 spdy_util_.ConstructGetHeaderBlock(url.spec())); |
| 1337 spdy_stream1->SendRequestHeaders(headers.Pass(), NO_MORE_DATA_TO_SEND); | 1341 spdy_stream1->SendRequestHeaders(headers.Pass(), NO_MORE_DATA_TO_SEND); |
| 1338 EXPECT_TRUE(spdy_stream1->HasUrl()); | 1342 EXPECT_TRUE(spdy_stream1->HasUrl()); |
| (...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2356 | 2360 |
| 2357 SSLSocketDataProvider ssl(SYNCHRONOUS, OK); | 2361 SSLSocketDataProvider ssl(SYNCHRONOUS, OK); |
| 2358 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); | 2362 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); |
| 2359 | 2363 |
| 2360 CreateDeterministicNetworkSession(); | 2364 CreateDeterministicNetworkSession(); |
| 2361 | 2365 |
| 2362 scoped_refptr<SpdySession> session = CreateInitializedSession(); | 2366 scoped_refptr<SpdySession> session = CreateInitializedSession(); |
| 2363 | 2367 |
| 2364 GURL url1("http://www.google.com"); | 2368 GURL url1("http://www.google.com"); |
| 2365 base::WeakPtr<SpdyStream> spdy_stream1 = | 2369 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 2366 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, | 2370 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, |
| 2367 session, url1, MEDIUM, BoundNetLog()); | 2371 session, url1, MEDIUM, BoundNetLog()); |
| 2372 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2373 spdy_stream1->SetDelegate(&delegate1); |
| 2368 session = NULL; | 2374 session = NULL; |
| 2369 ASSERT_TRUE(spdy_stream1.get() != NULL); | 2375 ASSERT_TRUE(spdy_stream1.get() != NULL); |
| 2370 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2376 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2371 | 2377 |
| 2372 scoped_ptr<SpdyHeaderBlock> headers1( | 2378 scoped_ptr<SpdyHeaderBlock> headers1( |
| 2373 spdy_util_.ConstructGetHeaderBlock(url1.spec())); | 2379 spdy_util_.ConstructGetHeaderBlock(url1.spec())); |
| 2374 spdy_stream1->SendRequestHeaders(headers1.Pass(), NO_MORE_DATA_TO_SEND); | 2380 spdy_stream1->SendRequestHeaders(headers1.Pass(), NO_MORE_DATA_TO_SEND); |
| 2375 EXPECT_TRUE(spdy_stream1->HasUrl()); | 2381 EXPECT_TRUE(spdy_stream1->HasUrl()); |
| 2376 | 2382 |
| 2377 // Run until 1st read. | 2383 // Run until 1st read. |
| (...skipping 1309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3687 EXPECT_EQ( | 3693 EXPECT_EQ( |
| 3688 OK, | 3694 OK, |
| 3689 InitializeSession(http_session_.get(), session1.get(), | 3695 InitializeSession(http_session_.get(), session1.get(), |
| 3690 key1.host_port_pair())); | 3696 key1.host_port_pair())); |
| 3691 EXPECT_FALSE(pool->IsStalled()); | 3697 EXPECT_FALSE(pool->IsStalled()); |
| 3692 | 3698 |
| 3693 // Create a stream using the session, and send a request. | 3699 // Create a stream using the session, and send a request. |
| 3694 | 3700 |
| 3695 TestCompletionCallback callback1; | 3701 TestCompletionCallback callback1; |
| 3696 base::WeakPtr<SpdyStream> spdy_stream1 = | 3702 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 3697 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, | 3703 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, |
| 3698 session1, url1, DEFAULT_PRIORITY, | 3704 session1, url1, DEFAULT_PRIORITY, |
| 3699 BoundNetLog()); | 3705 BoundNetLog()); |
| 3700 ASSERT_TRUE(spdy_stream1.get()); | 3706 ASSERT_TRUE(spdy_stream1.get()); |
| 3707 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 3708 spdy_stream1->SetDelegate(&delegate1); |
| 3701 | 3709 |
| 3702 scoped_ptr<SpdyHeaderBlock> headers1( | 3710 scoped_ptr<SpdyHeaderBlock> headers1( |
| 3703 spdy_util_.ConstructGetHeaderBlock(url1.spec())); | 3711 spdy_util_.ConstructGetHeaderBlock(url1.spec())); |
| 3704 EXPECT_EQ(ERR_IO_PENDING, | 3712 EXPECT_EQ(ERR_IO_PENDING, |
| 3705 spdy_stream1->SendRequestHeaders( | 3713 spdy_stream1->SendRequestHeaders( |
| 3706 headers1.Pass(), NO_MORE_DATA_TO_SEND)); | 3714 headers1.Pass(), NO_MORE_DATA_TO_SEND)); |
| 3707 EXPECT_TRUE(spdy_stream1->HasUrl()); | 3715 EXPECT_TRUE(spdy_stream1->HasUrl()); |
| 3708 | 3716 |
| 3709 base::MessageLoop::current()->RunUntilIdle(); | 3717 base::MessageLoop::current()->RunUntilIdle(); |
| 3710 | 3718 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3772 spdy_session_pool_->Remove(session_privacy_enabled); | 3780 spdy_session_pool_->Remove(session_privacy_enabled); |
| 3773 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_enabled)); | 3781 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_enabled)); |
| 3774 EXPECT_TRUE(spdy_session_pool_->HasSession(key_privacy_disabled)); | 3782 EXPECT_TRUE(spdy_session_pool_->HasSession(key_privacy_disabled)); |
| 3775 | 3783 |
| 3776 spdy_session_pool_->Remove(session_privacy_disabled); | 3784 spdy_session_pool_->Remove(session_privacy_disabled); |
| 3777 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_enabled)); | 3785 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_enabled)); |
| 3778 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_disabled)); | 3786 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_disabled)); |
| 3779 } | 3787 } |
| 3780 | 3788 |
| 3781 } // namespace net | 3789 } // namespace net |
| OLD | NEW |