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/macros.h" | 10 #include "base/macros.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 | 31 |
32 const int kMaxSockets = 32; | 32 const int kMaxSockets = 32; |
33 const int kMaxSocketsPerGroup = 6; | 33 const int kMaxSocketsPerGroup = 6; |
34 const RequestPriority kDefaultPriority = LOW; | 34 const RequestPriority kDefaultPriority = LOW; |
35 | 35 |
36 class TransportClientSocketPoolTest : public testing::Test { | 36 class TransportClientSocketPoolTest : public testing::Test { |
37 protected: | 37 protected: |
38 TransportClientSocketPoolTest() | 38 TransportClientSocketPoolTest() |
39 : connect_backup_jobs_enabled_( | 39 : connect_backup_jobs_enabled_( |
40 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(true)), | 40 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(true)), |
41 params_( | 41 params_(new TransportSocketParams( |
42 new TransportSocketParams( | 42 HostPortPair("www.google.com", 80), |
43 HostPortPair("www.google.com", 80), | 43 false, |
44 false, | 44 OnHostResolutionCallback(), |
45 OnHostResolutionCallback(), | 45 TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT)), |
46 TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT)), | |
47 host_resolver_(new MockHostResolver), | 46 host_resolver_(new MockHostResolver), |
48 client_socket_factory_(&net_log_), | 47 client_socket_factory_(&net_log_), |
49 pool_(kMaxSockets, | 48 pool_(kMaxSockets, |
50 kMaxSocketsPerGroup, | 49 kMaxSocketsPerGroup, |
51 host_resolver_.get(), | 50 host_resolver_.get(), |
52 &client_socket_factory_, | 51 &client_socket_factory_, |
53 NULL) { | 52 NULL, |
54 } | 53 NULL) {} |
55 | 54 |
56 ~TransportClientSocketPoolTest() override { | 55 ~TransportClientSocketPoolTest() override { |
57 internal::ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled( | 56 internal::ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled( |
58 connect_backup_jobs_enabled_); | 57 connect_backup_jobs_enabled_); |
59 } | 58 } |
60 | 59 |
61 scoped_refptr<TransportSocketParams> CreateParamsForTCPFastOpen() { | 60 scoped_refptr<TransportSocketParams> CreateParamsForTCPFastOpen() { |
62 return new TransportSocketParams( | 61 return new TransportSocketParams( |
63 HostPortPair("www.google.com", 80), false, OnHostResolutionCallback(), | 62 HostPortPair("www.google.com", 80), false, OnHostResolutionCallback(), |
64 TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DESIRED); | 63 TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DESIRED); |
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
849 | 848 |
850 // Reset for the next case. | 849 // Reset for the next case. |
851 host_resolver_->set_synchronous_mode(false); | 850 host_resolver_->set_synchronous_mode(false); |
852 } | 851 } |
853 | 852 |
854 // Test the case of the IPv6 address stalling, and falling back to the IPv4 | 853 // Test the case of the IPv6 address stalling, and falling back to the IPv4 |
855 // socket which finishes first. | 854 // socket which finishes first. |
856 TEST_F(TransportClientSocketPoolTest, IPv6FallbackSocketIPv4FinishesFirst) { | 855 TEST_F(TransportClientSocketPoolTest, IPv6FallbackSocketIPv4FinishesFirst) { |
857 // Create a pool without backup jobs. | 856 // Create a pool without backup jobs. |
858 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); | 857 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); |
859 TransportClientSocketPool pool(kMaxSockets, | 858 TransportClientSocketPool pool(kMaxSockets, kMaxSocketsPerGroup, |
860 kMaxSocketsPerGroup, | 859 host_resolver_.get(), &client_socket_factory_, |
861 host_resolver_.get(), | 860 NULL, NULL); |
862 &client_socket_factory_, | |
863 NULL); | |
864 | 861 |
865 MockTransportClientSocketFactory::ClientSocketType case_types[] = { | 862 MockTransportClientSocketFactory::ClientSocketType case_types[] = { |
866 // This is the IPv6 socket. It stalls, but presents one failed connection | 863 // This is the IPv6 socket. It stalls, but presents one failed connection |
867 // attempt on GetConnectionAttempts. | 864 // attempt on GetConnectionAttempts. |
868 MockTransportClientSocketFactory::MOCK_STALLED_FAILING_CLIENT_SOCKET, | 865 MockTransportClientSocketFactory::MOCK_STALLED_FAILING_CLIENT_SOCKET, |
869 // This is the IPv4 socket. | 866 // This is the IPv4 socket. |
870 MockTransportClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET}; | 867 MockTransportClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET}; |
871 | 868 |
872 client_socket_factory_.set_client_socket_types(case_types, 2); | 869 client_socket_factory_.set_client_socket_types(case_types, 2); |
873 | 870 |
(...skipping 26 matching lines...) Expand all Loading... |
900 | 897 |
901 EXPECT_EQ(2, client_socket_factory_.allocation_count()); | 898 EXPECT_EQ(2, client_socket_factory_.allocation_count()); |
902 } | 899 } |
903 | 900 |
904 // Test the case of the IPv6 address being slow, thus falling back to trying to | 901 // Test the case of the IPv6 address being slow, thus falling back to trying to |
905 // connect to the IPv4 address, but having the connect to the IPv6 address | 902 // connect to the IPv4 address, but having the connect to the IPv6 address |
906 // finish first. | 903 // finish first. |
907 TEST_F(TransportClientSocketPoolTest, IPv6FallbackSocketIPv6FinishesFirst) { | 904 TEST_F(TransportClientSocketPoolTest, IPv6FallbackSocketIPv6FinishesFirst) { |
908 // Create a pool without backup jobs. | 905 // Create a pool without backup jobs. |
909 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); | 906 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); |
910 TransportClientSocketPool pool(kMaxSockets, | 907 TransportClientSocketPool pool(kMaxSockets, kMaxSocketsPerGroup, |
911 kMaxSocketsPerGroup, | 908 host_resolver_.get(), &client_socket_factory_, |
912 host_resolver_.get(), | 909 NULL, NULL); |
913 &client_socket_factory_, | |
914 NULL); | |
915 | 910 |
916 MockTransportClientSocketFactory::ClientSocketType case_types[] = { | 911 MockTransportClientSocketFactory::ClientSocketType case_types[] = { |
917 // This is the IPv6 socket. | 912 // This is the IPv6 socket. |
918 MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET, | 913 MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET, |
919 // This is the IPv4 socket. It stalls, but presents one failed connection | 914 // This is the IPv4 socket. It stalls, but presents one failed connection |
920 // attempt on GetConnectionATtempts. | 915 // attempt on GetConnectionATtempts. |
921 MockTransportClientSocketFactory::MOCK_STALLED_FAILING_CLIENT_SOCKET}; | 916 MockTransportClientSocketFactory::MOCK_STALLED_FAILING_CLIENT_SOCKET}; |
922 | 917 |
923 client_socket_factory_.set_client_socket_types(case_types, 2); | 918 client_socket_factory_.set_client_socket_types(case_types, 2); |
924 client_socket_factory_.set_delay(base::TimeDelta::FromMilliseconds( | 919 client_socket_factory_.set_delay(base::TimeDelta::FromMilliseconds( |
(...skipping 26 matching lines...) Expand all Loading... |
951 ASSERT_EQ(1u, attempts.size()); | 946 ASSERT_EQ(1u, attempts.size()); |
952 EXPECT_EQ(ERR_CONNECTION_FAILED, attempts[0].result); | 947 EXPECT_EQ(ERR_CONNECTION_FAILED, attempts[0].result); |
953 EXPECT_EQ(kIPv4AddressSize, attempts[0].endpoint.address().size()); | 948 EXPECT_EQ(kIPv4AddressSize, attempts[0].endpoint.address().size()); |
954 | 949 |
955 EXPECT_EQ(2, client_socket_factory_.allocation_count()); | 950 EXPECT_EQ(2, client_socket_factory_.allocation_count()); |
956 } | 951 } |
957 | 952 |
958 TEST_F(TransportClientSocketPoolTest, IPv6NoIPv4AddressesToFallbackTo) { | 953 TEST_F(TransportClientSocketPoolTest, IPv6NoIPv4AddressesToFallbackTo) { |
959 // Create a pool without backup jobs. | 954 // Create a pool without backup jobs. |
960 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); | 955 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); |
961 TransportClientSocketPool pool(kMaxSockets, | 956 TransportClientSocketPool pool(kMaxSockets, kMaxSocketsPerGroup, |
962 kMaxSocketsPerGroup, | 957 host_resolver_.get(), &client_socket_factory_, |
963 host_resolver_.get(), | 958 NULL, NULL); |
964 &client_socket_factory_, | |
965 NULL); | |
966 | 959 |
967 client_socket_factory_.set_default_client_socket_type( | 960 client_socket_factory_.set_default_client_socket_type( |
968 MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); | 961 MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); |
969 | 962 |
970 // Resolve an AddressList with only IPv6 addresses. | 963 // Resolve an AddressList with only IPv6 addresses. |
971 host_resolver_->rules() | 964 host_resolver_->rules() |
972 ->AddIPLiteralRule("*", "2:abcd::3:4:ff,3:abcd::3:4:ff", std::string()); | 965 ->AddIPLiteralRule("*", "2:abcd::3:4:ff,3:abcd::3:4:ff", std::string()); |
973 | 966 |
974 TestCompletionCallback callback; | 967 TestCompletionCallback callback; |
975 ClientSocketHandle handle; | 968 ClientSocketHandle handle; |
(...skipping 10 matching lines...) Expand all Loading... |
986 IPEndPoint endpoint; | 979 IPEndPoint endpoint; |
987 handle.socket()->GetLocalAddress(&endpoint); | 980 handle.socket()->GetLocalAddress(&endpoint); |
988 EXPECT_EQ(kIPv6AddressSize, endpoint.address().size()); | 981 EXPECT_EQ(kIPv6AddressSize, endpoint.address().size()); |
989 EXPECT_EQ(0u, handle.connection_attempts().size()); | 982 EXPECT_EQ(0u, handle.connection_attempts().size()); |
990 EXPECT_EQ(1, client_socket_factory_.allocation_count()); | 983 EXPECT_EQ(1, client_socket_factory_.allocation_count()); |
991 } | 984 } |
992 | 985 |
993 TEST_F(TransportClientSocketPoolTest, IPv4HasNoFallback) { | 986 TEST_F(TransportClientSocketPoolTest, IPv4HasNoFallback) { |
994 // Create a pool without backup jobs. | 987 // Create a pool without backup jobs. |
995 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); | 988 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); |
996 TransportClientSocketPool pool(kMaxSockets, | 989 TransportClientSocketPool pool(kMaxSockets, kMaxSocketsPerGroup, |
997 kMaxSocketsPerGroup, | 990 host_resolver_.get(), &client_socket_factory_, |
998 host_resolver_.get(), | 991 NULL, NULL); |
999 &client_socket_factory_, | |
1000 NULL); | |
1001 | 992 |
1002 client_socket_factory_.set_default_client_socket_type( | 993 client_socket_factory_.set_default_client_socket_type( |
1003 MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); | 994 MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); |
1004 | 995 |
1005 // Resolve an AddressList with only IPv4 addresses. | 996 // Resolve an AddressList with only IPv4 addresses. |
1006 host_resolver_->rules()->AddIPLiteralRule("*", "1.1.1.1", std::string()); | 997 host_resolver_->rules()->AddIPLiteralRule("*", "1.1.1.1", std::string()); |
1007 | 998 |
1008 TestCompletionCallback callback; | 999 TestCompletionCallback callback; |
1009 ClientSocketHandle handle; | 1000 ClientSocketHandle handle; |
1010 int rv = | 1001 int rv = |
(...skipping 11 matching lines...) Expand all Loading... |
1022 EXPECT_EQ(kIPv4AddressSize, endpoint.address().size()); | 1013 EXPECT_EQ(kIPv4AddressSize, endpoint.address().size()); |
1023 EXPECT_EQ(0u, handle.connection_attempts().size()); | 1014 EXPECT_EQ(0u, handle.connection_attempts().size()); |
1024 EXPECT_EQ(1, client_socket_factory_.allocation_count()); | 1015 EXPECT_EQ(1, client_socket_factory_.allocation_count()); |
1025 } | 1016 } |
1026 | 1017 |
1027 // Test that if TCP FastOpen is enabled, it is set on the socket | 1018 // Test that if TCP FastOpen is enabled, it is set on the socket |
1028 // when we have only an IPv4 address. | 1019 // when we have only an IPv4 address. |
1029 TEST_F(TransportClientSocketPoolTest, TCPFastOpenOnIPv4WithNoFallback) { | 1020 TEST_F(TransportClientSocketPoolTest, TCPFastOpenOnIPv4WithNoFallback) { |
1030 // Create a pool without backup jobs. | 1021 // Create a pool without backup jobs. |
1031 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); | 1022 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); |
1032 TransportClientSocketPool pool(kMaxSockets, | 1023 TransportClientSocketPool pool(kMaxSockets, kMaxSocketsPerGroup, |
1033 kMaxSocketsPerGroup, | 1024 host_resolver_.get(), &client_socket_factory_, |
1034 host_resolver_.get(), | 1025 NULL, NULL); |
1035 &client_socket_factory_, | |
1036 NULL); | |
1037 client_socket_factory_.set_default_client_socket_type( | 1026 client_socket_factory_.set_default_client_socket_type( |
1038 MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); | 1027 MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); |
1039 // Resolve an AddressList with only IPv4 addresses. | 1028 // Resolve an AddressList with only IPv4 addresses. |
1040 host_resolver_->rules()->AddIPLiteralRule("*", "1.1.1.1", std::string()); | 1029 host_resolver_->rules()->AddIPLiteralRule("*", "1.1.1.1", std::string()); |
1041 | 1030 |
1042 TestCompletionCallback callback; | 1031 TestCompletionCallback callback; |
1043 ClientSocketHandle handle; | 1032 ClientSocketHandle handle; |
1044 // Enable TCP FastOpen in TransportSocketParams. | 1033 // Enable TCP FastOpen in TransportSocketParams. |
1045 scoped_refptr<TransportSocketParams> params = CreateParamsForTCPFastOpen(); | 1034 scoped_refptr<TransportSocketParams> params = CreateParamsForTCPFastOpen(); |
1046 handle.Init("a", params, LOW, ClientSocketPool::RespectLimits::ENABLED, | 1035 handle.Init("a", params, LOW, ClientSocketPool::RespectLimits::ENABLED, |
1047 callback.callback(), &pool, BoundNetLog()); | 1036 callback.callback(), &pool, BoundNetLog()); |
1048 EXPECT_EQ(OK, callback.WaitForResult()); | 1037 EXPECT_EQ(OK, callback.WaitForResult()); |
1049 EXPECT_TRUE(handle.socket()->UsingTCPFastOpen()); | 1038 EXPECT_TRUE(handle.socket()->UsingTCPFastOpen()); |
1050 } | 1039 } |
1051 | 1040 |
1052 // Test that if TCP FastOpen is enabled, it is set on the socket | 1041 // Test that if TCP FastOpen is enabled, it is set on the socket |
1053 // when we have only IPv6 addresses. | 1042 // when we have only IPv6 addresses. |
1054 TEST_F(TransportClientSocketPoolTest, TCPFastOpenOnIPv6WithNoFallback) { | 1043 TEST_F(TransportClientSocketPoolTest, TCPFastOpenOnIPv6WithNoFallback) { |
1055 // Create a pool without backup jobs. | 1044 // Create a pool without backup jobs. |
1056 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); | 1045 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); |
1057 TransportClientSocketPool pool(kMaxSockets, | 1046 TransportClientSocketPool pool(kMaxSockets, kMaxSocketsPerGroup, |
1058 kMaxSocketsPerGroup, | 1047 host_resolver_.get(), &client_socket_factory_, |
1059 host_resolver_.get(), | 1048 NULL, NULL); |
1060 &client_socket_factory_, | |
1061 NULL); | |
1062 client_socket_factory_.set_default_client_socket_type( | 1049 client_socket_factory_.set_default_client_socket_type( |
1063 MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); | 1050 MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET); |
1064 // Resolve an AddressList with only IPv6 addresses. | 1051 // Resolve an AddressList with only IPv6 addresses. |
1065 host_resolver_->rules() | 1052 host_resolver_->rules() |
1066 ->AddIPLiteralRule("*", "2:abcd::3:4:ff,3:abcd::3:4:ff", std::string()); | 1053 ->AddIPLiteralRule("*", "2:abcd::3:4:ff,3:abcd::3:4:ff", std::string()); |
1067 | 1054 |
1068 TestCompletionCallback callback; | 1055 TestCompletionCallback callback; |
1069 ClientSocketHandle handle; | 1056 ClientSocketHandle handle; |
1070 // Enable TCP FastOpen in TransportSocketParams. | 1057 // Enable TCP FastOpen in TransportSocketParams. |
1071 scoped_refptr<TransportSocketParams> params = CreateParamsForTCPFastOpen(); | 1058 scoped_refptr<TransportSocketParams> params = CreateParamsForTCPFastOpen(); |
1072 handle.Init("a", params, LOW, ClientSocketPool::RespectLimits::ENABLED, | 1059 handle.Init("a", params, LOW, ClientSocketPool::RespectLimits::ENABLED, |
1073 callback.callback(), &pool, BoundNetLog()); | 1060 callback.callback(), &pool, BoundNetLog()); |
1074 EXPECT_EQ(OK, callback.WaitForResult()); | 1061 EXPECT_EQ(OK, callback.WaitForResult()); |
1075 EXPECT_TRUE(handle.socket()->UsingTCPFastOpen()); | 1062 EXPECT_TRUE(handle.socket()->UsingTCPFastOpen()); |
1076 } | 1063 } |
1077 | 1064 |
1078 // Test that if TCP FastOpen is enabled, it does not do anything when there | 1065 // Test that if TCP FastOpen is enabled, it does not do anything when there |
1079 // is a IPv6 address with fallback to an IPv4 address. This test tests the case | 1066 // is a IPv6 address with fallback to an IPv4 address. This test tests the case |
1080 // when the IPv6 connect fails and the IPv4 one succeeds. | 1067 // when the IPv6 connect fails and the IPv4 one succeeds. |
1081 TEST_F(TransportClientSocketPoolTest, | 1068 TEST_F(TransportClientSocketPoolTest, |
1082 NoTCPFastOpenOnIPv6FailureWithIPv4Fallback) { | 1069 NoTCPFastOpenOnIPv6FailureWithIPv4Fallback) { |
1083 // Create a pool without backup jobs. | 1070 // Create a pool without backup jobs. |
1084 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); | 1071 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); |
1085 TransportClientSocketPool pool(kMaxSockets, | 1072 TransportClientSocketPool pool(kMaxSockets, kMaxSocketsPerGroup, |
1086 kMaxSocketsPerGroup, | 1073 host_resolver_.get(), &client_socket_factory_, |
1087 host_resolver_.get(), | 1074 NULL, NULL); |
1088 &client_socket_factory_, | |
1089 NULL); | |
1090 | 1075 |
1091 MockTransportClientSocketFactory::ClientSocketType case_types[] = { | 1076 MockTransportClientSocketFactory::ClientSocketType case_types[] = { |
1092 // This is the IPv6 socket. | 1077 // This is the IPv6 socket. |
1093 MockTransportClientSocketFactory::MOCK_STALLED_CLIENT_SOCKET, | 1078 MockTransportClientSocketFactory::MOCK_STALLED_CLIENT_SOCKET, |
1094 // This is the IPv4 socket. | 1079 // This is the IPv4 socket. |
1095 MockTransportClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET | 1080 MockTransportClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET |
1096 }; | 1081 }; |
1097 client_socket_factory_.set_client_socket_types(case_types, 2); | 1082 client_socket_factory_.set_client_socket_types(case_types, 2); |
1098 // Resolve an AddressList with a IPv6 address first and then a IPv4 address. | 1083 // Resolve an AddressList with a IPv6 address first and then a IPv4 address. |
1099 host_resolver_->rules() | 1084 host_resolver_->rules() |
(...skipping 15 matching lines...) Expand all Loading... |
1115 EXPECT_FALSE(handle.socket()->UsingTCPFastOpen()); | 1100 EXPECT_FALSE(handle.socket()->UsingTCPFastOpen()); |
1116 } | 1101 } |
1117 | 1102 |
1118 // Test that if TCP FastOpen is enabled, it does not do anything when there | 1103 // Test that if TCP FastOpen is enabled, it does not do anything when there |
1119 // is a IPv6 address with fallback to an IPv4 address. This test tests the case | 1104 // is a IPv6 address with fallback to an IPv4 address. This test tests the case |
1120 // when the IPv6 connect succeeds. | 1105 // when the IPv6 connect succeeds. |
1121 TEST_F(TransportClientSocketPoolTest, | 1106 TEST_F(TransportClientSocketPoolTest, |
1122 NoTCPFastOpenOnIPv6SuccessWithIPv4Fallback) { | 1107 NoTCPFastOpenOnIPv6SuccessWithIPv4Fallback) { |
1123 // Create a pool without backup jobs. | 1108 // Create a pool without backup jobs. |
1124 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); | 1109 ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false); |
1125 TransportClientSocketPool pool(kMaxSockets, | 1110 TransportClientSocketPool pool(kMaxSockets, kMaxSocketsPerGroup, |
1126 kMaxSocketsPerGroup, | 1111 host_resolver_.get(), &client_socket_factory_, |
1127 host_resolver_.get(), | 1112 NULL, NULL); |
1128 &client_socket_factory_, | |
1129 NULL); | |
1130 | 1113 |
1131 MockTransportClientSocketFactory::ClientSocketType case_types[] = { | 1114 MockTransportClientSocketFactory::ClientSocketType case_types[] = { |
1132 // This is the IPv6 socket. | 1115 // This is the IPv6 socket. |
1133 MockTransportClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET, | 1116 MockTransportClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET, |
1134 // This is the IPv4 socket. | 1117 // This is the IPv4 socket. |
1135 MockTransportClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET | 1118 MockTransportClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET |
1136 }; | 1119 }; |
1137 client_socket_factory_.set_client_socket_types(case_types, 2); | 1120 client_socket_factory_.set_client_socket_types(case_types, 2); |
1138 // Resolve an AddressList with a IPv6 address first and then a IPv4 address. | 1121 // Resolve an AddressList with a IPv6 address first and then a IPv4 address. |
1139 host_resolver_->rules() | 1122 host_resolver_->rules() |
(...skipping 11 matching lines...) Expand all Loading... |
1151 handle.socket()->GetLocalAddress(&endpoint); | 1134 handle.socket()->GetLocalAddress(&endpoint); |
1152 EXPECT_EQ(kIPv6AddressSize, endpoint.address().size()); | 1135 EXPECT_EQ(kIPv6AddressSize, endpoint.address().size()); |
1153 EXPECT_EQ(1, client_socket_factory_.allocation_count()); | 1136 EXPECT_EQ(1, client_socket_factory_.allocation_count()); |
1154 // Verify that TCP FastOpen was not turned on for the socket. | 1137 // Verify that TCP FastOpen was not turned on for the socket. |
1155 EXPECT_FALSE(handle.socket()->UsingTCPFastOpen()); | 1138 EXPECT_FALSE(handle.socket()->UsingTCPFastOpen()); |
1156 } | 1139 } |
1157 | 1140 |
1158 } // namespace | 1141 } // namespace |
1159 | 1142 |
1160 } // namespace net | 1143 } // namespace net |
OLD | NEW |