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

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

Issue 451383002: Plumbing for TCP FastOpen for SSL sockets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing linker error for Windows. Created 6 years, 3 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
OLDNEW
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/base64.h" 7 #include "base/base64.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 3121 matching lines...) Expand 10 before | Expand all | Expand 10 after
3132 PRIVACY_MODE_DISABLED); 3132 PRIVACY_MODE_DISABLED);
3133 base::WeakPtr<SpdySession> session1 = 3133 base::WeakPtr<SpdySession> session1 =
3134 CreateInsecureSpdySession(http_session_, key1, BoundNetLog()); 3134 CreateInsecureSpdySession(http_session_, key1, BoundNetLog());
3135 EXPECT_FALSE(pool->IsStalled()); 3135 EXPECT_FALSE(pool->IsStalled());
3136 3136
3137 // Trying to create a new connection should cause the pool to be stalled, and 3137 // Trying to create a new connection should cause the pool to be stalled, and
3138 // post a task asynchronously to try and close the session. 3138 // post a task asynchronously to try and close the session.
3139 TestCompletionCallback callback2; 3139 TestCompletionCallback callback2;
3140 HostPortPair host_port2("2.com", 80); 3140 HostPortPair host_port2("2.com", 80);
3141 scoped_refptr<TransportSocketParams> params2( 3141 scoped_refptr<TransportSocketParams> params2(
3142 new TransportSocketParams(host_port2, false, false, 3142 new TransportSocketParams(
3143 OnHostResolutionCallback())); 3143 host_port2, false, false, OnHostResolutionCallback(),
3144 TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT));
3144 scoped_ptr<ClientSocketHandle> connection2(new ClientSocketHandle); 3145 scoped_ptr<ClientSocketHandle> connection2(new ClientSocketHandle);
3145 EXPECT_EQ(ERR_IO_PENDING, 3146 EXPECT_EQ(ERR_IO_PENDING,
3146 connection2->Init(host_port2.ToString(), params2, DEFAULT_PRIORITY, 3147 connection2->Init(host_port2.ToString(), params2, DEFAULT_PRIORITY,
3147 callback2.callback(), pool, BoundNetLog())); 3148 callback2.callback(), pool, BoundNetLog()));
3148 EXPECT_TRUE(pool->IsStalled()); 3149 EXPECT_TRUE(pool->IsStalled());
3149 3150
3150 // The socket pool should close the connection asynchronously and establish a 3151 // The socket pool should close the connection asynchronously and establish a
3151 // new connection. 3152 // new connection.
3152 EXPECT_EQ(OK, callback2.WaitForResult()); 3153 EXPECT_EQ(OK, callback2.WaitForResult());
3153 EXPECT_FALSE(pool->IsStalled()); 3154 EXPECT_FALSE(pool->IsStalled());
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
3211 base::WeakPtr<SpdySession> session2 = 3212 base::WeakPtr<SpdySession> session2 =
3212 spdy_session_pool_->FindAvailableSession(key2, BoundNetLog()); 3213 spdy_session_pool_->FindAvailableSession(key2, BoundNetLog());
3213 ASSERT_EQ(session1.get(), session2.get()); 3214 ASSERT_EQ(session1.get(), session2.get());
3214 EXPECT_FALSE(pool->IsStalled()); 3215 EXPECT_FALSE(pool->IsStalled());
3215 3216
3216 // Trying to create a new connection should cause the pool to be stalled, and 3217 // Trying to create a new connection should cause the pool to be stalled, and
3217 // post a task asynchronously to try and close the session. 3218 // post a task asynchronously to try and close the session.
3218 TestCompletionCallback callback3; 3219 TestCompletionCallback callback3;
3219 HostPortPair host_port3("3.com", 80); 3220 HostPortPair host_port3("3.com", 80);
3220 scoped_refptr<TransportSocketParams> params3( 3221 scoped_refptr<TransportSocketParams> params3(
3221 new TransportSocketParams(host_port3, false, false, 3222 new TransportSocketParams(
3222 OnHostResolutionCallback())); 3223 host_port3, false, false, OnHostResolutionCallback(),
3224 TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT));
3223 scoped_ptr<ClientSocketHandle> connection3(new ClientSocketHandle); 3225 scoped_ptr<ClientSocketHandle> connection3(new ClientSocketHandle);
3224 EXPECT_EQ(ERR_IO_PENDING, 3226 EXPECT_EQ(ERR_IO_PENDING,
3225 connection3->Init(host_port3.ToString(), params3, DEFAULT_PRIORITY, 3227 connection3->Init(host_port3.ToString(), params3, DEFAULT_PRIORITY,
3226 callback3.callback(), pool, BoundNetLog())); 3228 callback3.callback(), pool, BoundNetLog()));
3227 EXPECT_TRUE(pool->IsStalled()); 3229 EXPECT_TRUE(pool->IsStalled());
3228 3230
3229 // The socket pool should close the connection asynchronously and establish a 3231 // The socket pool should close the connection asynchronously and establish a
3230 // new connection. 3232 // new connection.
3231 EXPECT_EQ(OK, callback3.WaitForResult()); 3233 EXPECT_EQ(OK, callback3.WaitForResult());
3232 EXPECT_FALSE(pool->IsStalled()); 3234 EXPECT_FALSE(pool->IsStalled());
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
3300 headers1.Pass(), NO_MORE_DATA_TO_SEND)); 3302 headers1.Pass(), NO_MORE_DATA_TO_SEND));
3301 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); 3303 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders());
3302 3304
3303 base::MessageLoop::current()->RunUntilIdle(); 3305 base::MessageLoop::current()->RunUntilIdle();
3304 3306
3305 // Trying to create a new connection should cause the pool to be stalled, and 3307 // Trying to create a new connection should cause the pool to be stalled, and
3306 // post a task asynchronously to try and close the session. 3308 // post a task asynchronously to try and close the session.
3307 TestCompletionCallback callback2; 3309 TestCompletionCallback callback2;
3308 HostPortPair host_port2("2.com", 80); 3310 HostPortPair host_port2("2.com", 80);
3309 scoped_refptr<TransportSocketParams> params2( 3311 scoped_refptr<TransportSocketParams> params2(
3310 new TransportSocketParams(host_port2, false, false, 3312 new TransportSocketParams(
3311 OnHostResolutionCallback())); 3313 host_port2, false, false, OnHostResolutionCallback(),
3314 TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT));
3312 scoped_ptr<ClientSocketHandle> connection2(new ClientSocketHandle); 3315 scoped_ptr<ClientSocketHandle> connection2(new ClientSocketHandle);
3313 EXPECT_EQ(ERR_IO_PENDING, 3316 EXPECT_EQ(ERR_IO_PENDING,
3314 connection2->Init(host_port2.ToString(), params2, DEFAULT_PRIORITY, 3317 connection2->Init(host_port2.ToString(), params2, DEFAULT_PRIORITY,
3315 callback2.callback(), pool, BoundNetLog())); 3318 callback2.callback(), pool, BoundNetLog()));
3316 EXPECT_TRUE(pool->IsStalled()); 3319 EXPECT_TRUE(pool->IsStalled());
3317 3320
3318 // Running the message loop should cause the socket pool to ask the SPDY 3321 // Running the message loop should cause the socket pool to ask the SPDY
3319 // session to close an idle socket, but since the socket is in use, nothing 3322 // session to close an idle socket, but since the socket is in use, nothing
3320 // happens. 3323 // happens.
3321 base::RunLoop().RunUntilIdle(); 3324 base::RunLoop().RunUntilIdle();
(...skipping 1810 matching lines...) Expand 10 before | Expand all | Expand 10 after
5132 ssl_info.cert = ImportCertFromFile(GetTestCertsDirectory(), 5135 ssl_info.cert = ImportCertFromFile(GetTestCertsDirectory(),
5133 "spdy_pooling.pem"); 5136 "spdy_pooling.pem");
5134 ssl_info.is_issued_by_known_root = true; 5137 ssl_info.is_issued_by_known_root = true;
5135 ssl_info.public_key_hashes.push_back(test::GetTestHashValue(primary_pin)); 5138 ssl_info.public_key_hashes.push_back(test::GetTestHashValue(primary_pin));
5136 5139
5137 EXPECT_TRUE(SpdySession::CanPool( 5140 EXPECT_TRUE(SpdySession::CanPool(
5138 &tss, ssl_info, "www.example.org", "mail.example.org")); 5141 &tss, ssl_info, "www.example.org", "mail.example.org"));
5139 } 5142 }
5140 5143
5141 } // namespace net 5144 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/websocket_transport_client_socket_pool_unittest.cc ('k') | net/spdy/spdy_test_util_common.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698