| 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/socket/transport_client_socket_pool.h" | 5 #include "net/socket/transport_client_socket_pool.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 1192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1203 MockClientSocketFactory::ClientSocketType case_types[] = { | 1203 MockClientSocketFactory::ClientSocketType case_types[] = { |
| 1204 // This is the IPv6 socket. | 1204 // This is the IPv6 socket. |
| 1205 MockClientSocketFactory::MOCK_STALLED_CLIENT_SOCKET, | 1205 MockClientSocketFactory::MOCK_STALLED_CLIENT_SOCKET, |
| 1206 // This is the IPv4 socket. | 1206 // This is the IPv4 socket. |
| 1207 MockClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET | 1207 MockClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET |
| 1208 }; | 1208 }; |
| 1209 | 1209 |
| 1210 client_socket_factory_.set_client_socket_types(case_types, 2); | 1210 client_socket_factory_.set_client_socket_types(case_types, 2); |
| 1211 | 1211 |
| 1212 // Resolve an AddressList with a IPv6 address first and then a IPv4 address. | 1212 // Resolve an AddressList with a IPv6 address first and then a IPv4 address. |
| 1213 host_resolver_->rules()->AddIPLiteralRule( | 1213 host_resolver_->rules() |
| 1214 "*", "2:abcd::3:4:ff,2.2.2.2", ""); | 1214 ->AddIPLiteralRule("*", "2:abcd::3:4:ff,2.2.2.2", std::string()); |
| 1215 | 1215 |
| 1216 TestCompletionCallback callback; | 1216 TestCompletionCallback callback; |
| 1217 ClientSocketHandle handle; | 1217 ClientSocketHandle handle; |
| 1218 int rv = handle.Init("a", low_params_, LOW, callback.callback(), &pool, | 1218 int rv = handle.Init("a", low_params_, LOW, callback.callback(), &pool, |
| 1219 BoundNetLog()); | 1219 BoundNetLog()); |
| 1220 EXPECT_EQ(ERR_IO_PENDING, rv); | 1220 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 1221 EXPECT_FALSE(handle.is_initialized()); | 1221 EXPECT_FALSE(handle.is_initialized()); |
| 1222 EXPECT_FALSE(handle.socket()); | 1222 EXPECT_FALSE(handle.socket()); |
| 1223 | 1223 |
| 1224 EXPECT_EQ(OK, callback.WaitForResult()); | 1224 EXPECT_EQ(OK, callback.WaitForResult()); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1248 MockClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET, | 1248 MockClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET, |
| 1249 // This is the IPv4 socket. | 1249 // This is the IPv4 socket. |
| 1250 MockClientSocketFactory::MOCK_STALLED_CLIENT_SOCKET | 1250 MockClientSocketFactory::MOCK_STALLED_CLIENT_SOCKET |
| 1251 }; | 1251 }; |
| 1252 | 1252 |
| 1253 client_socket_factory_.set_client_socket_types(case_types, 2); | 1253 client_socket_factory_.set_client_socket_types(case_types, 2); |
| 1254 client_socket_factory_.set_delay(base::TimeDelta::FromMilliseconds( | 1254 client_socket_factory_.set_delay(base::TimeDelta::FromMilliseconds( |
| 1255 TransportConnectJob::kIPv6FallbackTimerInMs + 50)); | 1255 TransportConnectJob::kIPv6FallbackTimerInMs + 50)); |
| 1256 | 1256 |
| 1257 // Resolve an AddressList with a IPv6 address first and then a IPv4 address. | 1257 // Resolve an AddressList with a IPv6 address first and then a IPv4 address. |
| 1258 host_resolver_->rules()->AddIPLiteralRule( | 1258 host_resolver_->rules() |
| 1259 "*", "2:abcd::3:4:ff,2.2.2.2", ""); | 1259 ->AddIPLiteralRule("*", "2:abcd::3:4:ff,2.2.2.2", std::string()); |
| 1260 | 1260 |
| 1261 TestCompletionCallback callback; | 1261 TestCompletionCallback callback; |
| 1262 ClientSocketHandle handle; | 1262 ClientSocketHandle handle; |
| 1263 int rv = handle.Init("a", low_params_, LOW, callback.callback(), &pool, | 1263 int rv = handle.Init("a", low_params_, LOW, callback.callback(), &pool, |
| 1264 BoundNetLog()); | 1264 BoundNetLog()); |
| 1265 EXPECT_EQ(ERR_IO_PENDING, rv); | 1265 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 1266 EXPECT_FALSE(handle.is_initialized()); | 1266 EXPECT_FALSE(handle.is_initialized()); |
| 1267 EXPECT_FALSE(handle.socket()); | 1267 EXPECT_FALSE(handle.socket()); |
| 1268 | 1268 |
| 1269 EXPECT_EQ(OK, callback.WaitForResult()); | 1269 EXPECT_EQ(OK, callback.WaitForResult()); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1282 kMaxSocketsPerGroup, | 1282 kMaxSocketsPerGroup, |
| 1283 histograms_.get(), | 1283 histograms_.get(), |
| 1284 host_resolver_.get(), | 1284 host_resolver_.get(), |
| 1285 &client_socket_factory_, | 1285 &client_socket_factory_, |
| 1286 NULL); | 1286 NULL); |
| 1287 | 1287 |
| 1288 client_socket_factory_.set_client_socket_type( | 1288 client_socket_factory_.set_client_socket_type( |
| 1289 MockClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); | 1289 MockClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); |
| 1290 | 1290 |
| 1291 // Resolve an AddressList with only IPv6 addresses. | 1291 // Resolve an AddressList with only IPv6 addresses. |
| 1292 host_resolver_->rules()->AddIPLiteralRule( | 1292 host_resolver_->rules() |
| 1293 "*", "2:abcd::3:4:ff,3:abcd::3:4:ff", ""); | 1293 ->AddIPLiteralRule("*", "2:abcd::3:4:ff,3:abcd::3:4:ff", std::string()); |
| 1294 | 1294 |
| 1295 TestCompletionCallback callback; | 1295 TestCompletionCallback callback; |
| 1296 ClientSocketHandle handle; | 1296 ClientSocketHandle handle; |
| 1297 int rv = handle.Init("a", low_params_, LOW, callback.callback(), &pool, | 1297 int rv = handle.Init("a", low_params_, LOW, callback.callback(), &pool, |
| 1298 BoundNetLog()); | 1298 BoundNetLog()); |
| 1299 EXPECT_EQ(ERR_IO_PENDING, rv); | 1299 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 1300 EXPECT_FALSE(handle.is_initialized()); | 1300 EXPECT_FALSE(handle.is_initialized()); |
| 1301 EXPECT_FALSE(handle.socket()); | 1301 EXPECT_FALSE(handle.socket()); |
| 1302 | 1302 |
| 1303 EXPECT_EQ(OK, callback.WaitForResult()); | 1303 EXPECT_EQ(OK, callback.WaitForResult()); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1316 kMaxSocketsPerGroup, | 1316 kMaxSocketsPerGroup, |
| 1317 histograms_.get(), | 1317 histograms_.get(), |
| 1318 host_resolver_.get(), | 1318 host_resolver_.get(), |
| 1319 &client_socket_factory_, | 1319 &client_socket_factory_, |
| 1320 NULL); | 1320 NULL); |
| 1321 | 1321 |
| 1322 client_socket_factory_.set_client_socket_type( | 1322 client_socket_factory_.set_client_socket_type( |
| 1323 MockClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); | 1323 MockClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); |
| 1324 | 1324 |
| 1325 // Resolve an AddressList with only IPv4 addresses. | 1325 // Resolve an AddressList with only IPv4 addresses. |
| 1326 host_resolver_->rules()->AddIPLiteralRule( | 1326 host_resolver_->rules()->AddIPLiteralRule("*", "1.1.1.1", std::string()); |
| 1327 "*", "1.1.1.1", ""); | |
| 1328 | 1327 |
| 1329 TestCompletionCallback callback; | 1328 TestCompletionCallback callback; |
| 1330 ClientSocketHandle handle; | 1329 ClientSocketHandle handle; |
| 1331 int rv = handle.Init("a", low_params_, LOW, callback.callback(), &pool, | 1330 int rv = handle.Init("a", low_params_, LOW, callback.callback(), &pool, |
| 1332 BoundNetLog()); | 1331 BoundNetLog()); |
| 1333 EXPECT_EQ(ERR_IO_PENDING, rv); | 1332 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 1334 EXPECT_FALSE(handle.is_initialized()); | 1333 EXPECT_FALSE(handle.is_initialized()); |
| 1335 EXPECT_FALSE(handle.socket()); | 1334 EXPECT_FALSE(handle.socket()); |
| 1336 | 1335 |
| 1337 EXPECT_EQ(OK, callback.WaitForResult()); | 1336 EXPECT_EQ(OK, callback.WaitForResult()); |
| 1338 EXPECT_TRUE(handle.is_initialized()); | 1337 EXPECT_TRUE(handle.is_initialized()); |
| 1339 EXPECT_TRUE(handle.socket()); | 1338 EXPECT_TRUE(handle.socket()); |
| 1340 IPEndPoint endpoint; | 1339 IPEndPoint endpoint; |
| 1341 handle.socket()->GetLocalAddress(&endpoint); | 1340 handle.socket()->GetLocalAddress(&endpoint); |
| 1342 EXPECT_EQ(kIPv4AddressSize, endpoint.address().size()); | 1341 EXPECT_EQ(kIPv4AddressSize, endpoint.address().size()); |
| 1343 EXPECT_EQ(1, client_socket_factory_.allocation_count()); | 1342 EXPECT_EQ(1, client_socket_factory_.allocation_count()); |
| 1344 } | 1343 } |
| 1345 | 1344 |
| 1346 } // namespace | 1345 } // namespace |
| 1347 | 1346 |
| 1348 } // namespace net | 1347 } // namespace net |
| OLD | NEW |