| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/client_socket_pool_base.h" | 5 #include "net/socket/client_socket_pool_base.h" |
| 6 | 6 |
| 7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/platform_thread.h" | 9 #include "base/platform_thread.h" |
| 10 #include "base/scoped_vector.h" | 10 #include "base/scoped_vector.h" |
| (...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 request, | 477 request, |
| 478 base::TimeDelta::FromMicroseconds(1), | 478 base::TimeDelta::FromMicroseconds(1), |
| 479 &delegate, | 479 &delegate, |
| 480 &client_socket_factory_, | 480 &client_socket_factory_, |
| 481 log); | 481 log); |
| 482 ASSERT_EQ(ERR_IO_PENDING, job->Connect()); | 482 ASSERT_EQ(ERR_IO_PENDING, job->Connect()); |
| 483 PlatformThread::Sleep(1); | 483 PlatformThread::Sleep(1); |
| 484 EXPECT_EQ(ERR_TIMED_OUT, delegate.WaitForResult()); | 484 EXPECT_EQ(ERR_TIMED_OUT, delegate.WaitForResult()); |
| 485 | 485 |
| 486 EXPECT_EQ(3u, log->entries().size()); | 486 EXPECT_EQ(3u, log->entries().size()); |
| 487 ExpectLogContains(log, 0, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, | 487 EXPECT_TRUE(LogContainsBeginEvent( |
| 488 LoadLog::PHASE_BEGIN); | 488 *log, 0, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 489 ExpectLogContains(log, 1, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB_TIMED_OUT, | 489 EXPECT_TRUE(LogContainsEvent( |
| 490 LoadLog::PHASE_NONE); | 490 *log, 1, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB_TIMED_OUT, |
| 491 ExpectLogContains(log, 2, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, | 491 LoadLog::PHASE_NONE)); |
| 492 LoadLog::PHASE_END); | 492 EXPECT_TRUE(LogContainsEndEvent( |
| 493 *log, 2, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 493 } | 494 } |
| 494 | 495 |
| 495 TEST_F(ClientSocketPoolBaseTest, BasicSynchronous) { | 496 TEST_F(ClientSocketPoolBaseTest, BasicSynchronous) { |
| 496 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); | 497 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); |
| 497 | 498 |
| 498 TestCompletionCallback callback; | 499 TestCompletionCallback callback; |
| 499 ClientSocketHandle handle; | 500 ClientSocketHandle handle; |
| 500 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); | 501 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); |
| 501 EXPECT_EQ(OK, InitHandle(&handle, "a", kDefaultPriority, | 502 EXPECT_EQ(OK, InitHandle(&handle, "a", kDefaultPriority, |
| 502 &callback, pool_.get(), log)); | 503 &callback, pool_.get(), log)); |
| 503 EXPECT_TRUE(handle.is_initialized()); | 504 EXPECT_TRUE(handle.is_initialized()); |
| 504 EXPECT_TRUE(handle.socket()); | 505 EXPECT_TRUE(handle.socket()); |
| 505 handle.Reset(); | 506 handle.Reset(); |
| 506 | 507 |
| 507 EXPECT_EQ(4u, log->entries().size()); | 508 EXPECT_EQ(4u, log->entries().size()); |
| 508 ExpectLogContains(log, 0, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_BEGIN); | 509 EXPECT_TRUE(LogContainsBeginEvent(*log, 0, LoadLog::TYPE_SOCKET_POOL)); |
| 509 ExpectLogContains(log, 1, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, | 510 EXPECT_TRUE(LogContainsBeginEvent( |
| 510 LoadLog::PHASE_BEGIN); | 511 *log, 1, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 511 ExpectLogContains(log, 2, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, | 512 EXPECT_TRUE(LogContainsEndEvent( |
| 512 LoadLog::PHASE_END); | 513 *log, 2, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 513 ExpectLogContains(log, 3, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_END); | 514 EXPECT_TRUE(LogContainsEndEvent(*log, 3, LoadLog::TYPE_SOCKET_POOL)); |
| 514 } | 515 } |
| 515 | 516 |
| 516 TEST_F(ClientSocketPoolBaseTest, InitConnectionFailure) { | 517 TEST_F(ClientSocketPoolBaseTest, InitConnectionFailure) { |
| 517 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); | 518 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); |
| 518 | 519 |
| 519 connect_job_factory_->set_job_type(TestConnectJob::kMockFailingJob); | 520 connect_job_factory_->set_job_type(TestConnectJob::kMockFailingJob); |
| 520 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); | 521 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); |
| 521 TestSocketRequest req(&request_order_, &completion_count_); | 522 TestSocketRequest req(&request_order_, &completion_count_); |
| 522 EXPECT_EQ(ERR_CONNECTION_FAILED, | 523 EXPECT_EQ(ERR_CONNECTION_FAILED, |
| 523 InitHandle(req.handle(), "a", kDefaultPriority, &req, | 524 InitHandle(req.handle(), "a", kDefaultPriority, &req, |
| 524 pool_.get(), log)); | 525 pool_.get(), log)); |
| 525 | 526 |
| 526 EXPECT_EQ(4u, log->entries().size()); | 527 EXPECT_EQ(4u, log->entries().size()); |
| 527 ExpectLogContains(log, 0, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_BEGIN); | 528 EXPECT_TRUE(LogContainsBeginEvent(*log, 0, LoadLog::TYPE_SOCKET_POOL)); |
| 528 ExpectLogContains(log, 1, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, | 529 EXPECT_TRUE(LogContainsBeginEvent( |
| 529 LoadLog::PHASE_BEGIN); | 530 *log, 1, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 530 ExpectLogContains(log, 2, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, | 531 EXPECT_TRUE(LogContainsEndEvent( |
| 531 LoadLog::PHASE_END); | 532 *log, 2, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 532 ExpectLogContains(log, 3, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_END); | 533 EXPECT_TRUE(LogContainsEndEvent(*log, 3, LoadLog::TYPE_SOCKET_POOL)); |
| 533 } | 534 } |
| 534 | 535 |
| 535 TEST_F(ClientSocketPoolBaseTest, TotalLimit) { | 536 TEST_F(ClientSocketPoolBaseTest, TotalLimit) { |
| 536 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); | 537 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); |
| 537 | 538 |
| 538 // TODO(eroman): Check that the LoadLog contains this event. | 539 // TODO(eroman): Check that the LoadLog contains this event. |
| 539 | 540 |
| 540 EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); | 541 EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); |
| 541 EXPECT_EQ(OK, StartRequest("b", kDefaultPriority)); | 542 EXPECT_EQ(OK, StartRequest("b", kDefaultPriority)); |
| 542 EXPECT_EQ(OK, StartRequest("c", kDefaultPriority)); | 543 EXPECT_EQ(OK, StartRequest("c", kDefaultPriority)); |
| (...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1118 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); | 1119 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); |
| 1119 int rv = InitHandle(req.handle(), "a", LOWEST, &req, pool_.get(), log); | 1120 int rv = InitHandle(req.handle(), "a", LOWEST, &req, pool_.get(), log); |
| 1120 EXPECT_EQ(ERR_IO_PENDING, rv); | 1121 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 1121 EXPECT_EQ(LOAD_STATE_CONNECTING, pool_->GetLoadState("a", req.handle())); | 1122 EXPECT_EQ(LOAD_STATE_CONNECTING, pool_->GetLoadState("a", req.handle())); |
| 1122 EXPECT_EQ(OK, req.WaitForResult()); | 1123 EXPECT_EQ(OK, req.WaitForResult()); |
| 1123 EXPECT_TRUE(req.handle()->is_initialized()); | 1124 EXPECT_TRUE(req.handle()->is_initialized()); |
| 1124 EXPECT_TRUE(req.handle()->socket()); | 1125 EXPECT_TRUE(req.handle()->socket()); |
| 1125 req.handle()->Reset(); | 1126 req.handle()->Reset(); |
| 1126 | 1127 |
| 1127 EXPECT_EQ(6u, log->entries().size()); | 1128 EXPECT_EQ(6u, log->entries().size()); |
| 1128 EXPECT_TRUE(LogContains( | 1129 EXPECT_TRUE(LogContainsBeginEvent(*log, 0, LoadLog::TYPE_SOCKET_POOL)); |
| 1129 *log, 0, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_BEGIN)); | 1130 EXPECT_TRUE(LogContainsBeginEvent( |
| 1130 EXPECT_TRUE(LogContains( | 1131 *log, 1, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE)); |
| 1131 *log, 1, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE, | 1132 EXPECT_TRUE(LogContainsEndEvent( |
| 1132 LoadLog::PHASE_BEGIN)); | 1133 *log, 2, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE)); |
| 1133 EXPECT_TRUE(LogContains( | 1134 EXPECT_TRUE(LogContainsBeginEvent( |
| 1134 *log, 2, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE, LoadLog::PHASE_END)); | 1135 *log, 3, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 1135 EXPECT_TRUE(LogContains( | 1136 EXPECT_TRUE(LogContainsEndEvent( |
| 1136 *log, 3, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, LoadLog::PHASE_BEGIN)); | 1137 *log, 4, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 1137 EXPECT_TRUE(LogContains( | 1138 EXPECT_TRUE(LogContainsEndEvent( |
| 1138 *log, 4, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, LoadLog::PHASE_END)); | 1139 *log, 5, LoadLog::TYPE_SOCKET_POOL)); |
| 1139 EXPECT_TRUE(LogContains( | |
| 1140 *log, 5, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_END)); | |
| 1141 } | 1140 } |
| 1142 | 1141 |
| 1143 TEST_F(ClientSocketPoolBaseTest, | 1142 TEST_F(ClientSocketPoolBaseTest, |
| 1144 InitConnectionAsynchronousFailure) { | 1143 InitConnectionAsynchronousFailure) { |
| 1145 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); | 1144 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); |
| 1146 | 1145 |
| 1147 connect_job_factory_->set_job_type(TestConnectJob::kMockPendingFailingJob); | 1146 connect_job_factory_->set_job_type(TestConnectJob::kMockPendingFailingJob); |
| 1148 TestSocketRequest req(&request_order_, &completion_count_); | 1147 TestSocketRequest req(&request_order_, &completion_count_); |
| 1149 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); | 1148 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); |
| 1150 EXPECT_EQ(ERR_IO_PENDING, | 1149 EXPECT_EQ(ERR_IO_PENDING, |
| 1151 InitHandle(req.handle(), "a", kDefaultPriority, &req, | 1150 InitHandle(req.handle(), "a", kDefaultPriority, &req, |
| 1152 pool_.get(), log)); | 1151 pool_.get(), log)); |
| 1153 EXPECT_EQ(LOAD_STATE_CONNECTING, pool_->GetLoadState("a", req.handle())); | 1152 EXPECT_EQ(LOAD_STATE_CONNECTING, pool_->GetLoadState("a", req.handle())); |
| 1154 EXPECT_EQ(ERR_CONNECTION_FAILED, req.WaitForResult()); | 1153 EXPECT_EQ(ERR_CONNECTION_FAILED, req.WaitForResult()); |
| 1155 | 1154 |
| 1156 EXPECT_EQ(6u, log->entries().size()); | 1155 EXPECT_EQ(6u, log->entries().size()); |
| 1157 ExpectLogContains(log, 0, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_BEGIN); | 1156 EXPECT_TRUE(LogContainsBeginEvent(*log, 0, LoadLog::TYPE_SOCKET_POOL)); |
| 1158 ExpectLogContains(log, 1, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE, | 1157 EXPECT_TRUE(LogContainsBeginEvent( |
| 1159 LoadLog::PHASE_BEGIN); | 1158 *log, 1, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE)); |
| 1160 ExpectLogContains(log, 2, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE, | 1159 EXPECT_TRUE(LogContainsEndEvent( |
| 1161 LoadLog::PHASE_END); | 1160 *log, 2, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE)); |
| 1162 ExpectLogContains(log, 3, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, | 1161 EXPECT_TRUE(LogContainsBeginEvent( |
| 1163 LoadLog::PHASE_BEGIN); | 1162 *log, 3, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 1164 ExpectLogContains(log, 4, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, | 1163 EXPECT_TRUE(LogContainsEndEvent( |
| 1165 LoadLog::PHASE_END); | 1164 *log, 4, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 1166 ExpectLogContains(log, 5, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_END); | 1165 EXPECT_TRUE(LogContainsEndEvent(*log, 5, LoadLog::TYPE_SOCKET_POOL)); |
| 1167 } | 1166 } |
| 1168 | 1167 |
| 1169 TEST_F(ClientSocketPoolBaseTest, TwoRequestsCancelOne) { | 1168 TEST_F(ClientSocketPoolBaseTest, TwoRequestsCancelOne) { |
| 1170 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); | 1169 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); |
| 1171 | 1170 |
| 1172 connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob); | 1171 connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob); |
| 1173 TestSocketRequest req(&request_order_, &completion_count_); | 1172 TestSocketRequest req(&request_order_, &completion_count_); |
| 1174 TestSocketRequest req2(&request_order_, &completion_count_); | 1173 TestSocketRequest req2(&request_order_, &completion_count_); |
| 1175 | 1174 |
| 1176 scoped_refptr<LoadLog> log1(new LoadLog(LoadLog::kUnbounded)); | 1175 scoped_refptr<LoadLog> log1(new LoadLog(LoadLog::kUnbounded)); |
| 1177 EXPECT_EQ(ERR_IO_PENDING, | 1176 EXPECT_EQ(ERR_IO_PENDING, |
| 1178 InitHandle(req.handle(), "a", kDefaultPriority, &req, | 1177 InitHandle(req.handle(), "a", kDefaultPriority, &req, |
| 1179 pool_.get(), log1)); | 1178 pool_.get(), log1)); |
| 1180 scoped_refptr<LoadLog> log2(new LoadLog(LoadLog::kUnbounded)); | 1179 scoped_refptr<LoadLog> log2(new LoadLog(LoadLog::kUnbounded)); |
| 1181 EXPECT_EQ(ERR_IO_PENDING, | 1180 EXPECT_EQ(ERR_IO_PENDING, |
| 1182 InitHandle(req2.handle(), "a", kDefaultPriority, &req2, | 1181 InitHandle(req2.handle(), "a", kDefaultPriority, &req2, |
| 1183 pool_.get(), log2)); | 1182 pool_.get(), log2)); |
| 1184 | 1183 |
| 1185 req.handle()->Reset(); | 1184 req.handle()->Reset(); |
| 1186 | 1185 |
| 1187 EXPECT_EQ(5u, log1->entries().size()); | 1186 EXPECT_EQ(5u, log1->entries().size()); |
| 1188 ExpectLogContains(log1, 0, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_BEGIN); | 1187 EXPECT_TRUE(LogContainsBeginEvent(*log1, 0, LoadLog::TYPE_SOCKET_POOL)); |
| 1189 ExpectLogContains(log1, 1, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE, | 1188 EXPECT_TRUE(LogContainsBeginEvent( |
| 1190 LoadLog::PHASE_BEGIN); | 1189 *log1, 1, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE)); |
| 1191 ExpectLogContains(log1, 2, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE, | 1190 EXPECT_TRUE(LogContainsEndEvent( |
| 1192 LoadLog::PHASE_END); | 1191 *log1, 2, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE)); |
| 1193 ExpectLogContains(log1, 3, LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE); | 1192 EXPECT_TRUE(LogContainsEvent( |
| 1194 ExpectLogContains(log1, 4, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_END); | 1193 *log1, 3, LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE)); |
| 1194 EXPECT_TRUE(LogContainsEndEvent(*log1, 4, LoadLog::TYPE_SOCKET_POOL)); |
| 1195 | 1195 |
| 1196 // At this point, request 2 is just waiting for the connect job to finish. | 1196 // At this point, request 2 is just waiting for the connect job to finish. |
| 1197 EXPECT_EQ(2u, log2->entries().size()); | 1197 EXPECT_EQ(2u, log2->entries().size()); |
| 1198 ExpectLogContains(log2, 0, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_BEGIN); | 1198 EXPECT_TRUE(LogContainsBeginEvent(*log2, 0, LoadLog::TYPE_SOCKET_POOL)); |
| 1199 ExpectLogContains(log2, 1, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE, | 1199 EXPECT_TRUE(LogContainsBeginEvent( |
| 1200 LoadLog::PHASE_BEGIN); | 1200 *log2, 1, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE)); |
| 1201 | 1201 |
| 1202 EXPECT_EQ(OK, req2.WaitForResult()); | 1202 EXPECT_EQ(OK, req2.WaitForResult()); |
| 1203 req2.handle()->Reset(); | 1203 req2.handle()->Reset(); |
| 1204 | 1204 |
| 1205 // Now request 2 has actually finished. | 1205 // Now request 2 has actually finished. |
| 1206 EXPECT_EQ(6u, log2->entries().size()); | 1206 EXPECT_EQ(6u, log2->entries().size()); |
| 1207 ExpectLogContains(log2, 0, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_BEGIN); | 1207 EXPECT_TRUE(LogContainsBeginEvent(*log2, 0, LoadLog::TYPE_SOCKET_POOL)); |
| 1208 ExpectLogContains(log2, 1, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE, | 1208 EXPECT_TRUE(LogContainsBeginEvent( |
| 1209 LoadLog::PHASE_BEGIN); | 1209 *log2, 1, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE)); |
| 1210 ExpectLogContains(log1, 2, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE, | 1210 EXPECT_TRUE(LogContainsEndEvent( |
| 1211 LoadLog::PHASE_END); | 1211 *log1, 2, LoadLog::TYPE_SOCKET_POOL_WAITING_IN_QUEUE)); |
| 1212 ExpectLogContains(log2, 3, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, | 1212 EXPECT_TRUE(LogContainsBeginEvent( |
| 1213 LoadLog::PHASE_BEGIN); | 1213 *log2, 3, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 1214 ExpectLogContains(log2, 4, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB, | 1214 EXPECT_TRUE(LogContainsEndEvent( |
| 1215 LoadLog::PHASE_END); | 1215 *log2, 4, LoadLog::TYPE_SOCKET_POOL_CONNECT_JOB)); |
| 1216 ExpectLogContains(log2, 5, LoadLog::TYPE_SOCKET_POOL, LoadLog::PHASE_END); | 1216 EXPECT_TRUE(LogContainsEndEvent(*log2, 5, LoadLog::TYPE_SOCKET_POOL)); |
| 1217 | 1217 |
| 1218 } | 1218 } |
| 1219 | 1219 |
| 1220 TEST_F(ClientSocketPoolBaseTest, CancelRequestLimitsJobs) { | 1220 TEST_F(ClientSocketPoolBaseTest, CancelRequestLimitsJobs) { |
| 1221 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); | 1221 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); |
| 1222 | 1222 |
| 1223 connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob); | 1223 connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob); |
| 1224 | 1224 |
| 1225 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOWEST)); | 1225 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOWEST)); |
| 1226 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOW)); | 1226 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOW)); |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1385 | 1385 |
| 1386 pool_->CleanupTimedOutIdleSockets(); | 1386 pool_->CleanupTimedOutIdleSockets(); |
| 1387 rv = InitHandle(req.handle(), "a", LOWEST, &req, pool_.get(), NULL); | 1387 rv = InitHandle(req.handle(), "a", LOWEST, &req, pool_.get(), NULL); |
| 1388 EXPECT_EQ(OK, rv); | 1388 EXPECT_EQ(OK, rv); |
| 1389 EXPECT_TRUE(req.handle()->is_reused()); | 1389 EXPECT_TRUE(req.handle()->is_reused()); |
| 1390 } | 1390 } |
| 1391 | 1391 |
| 1392 } // namespace | 1392 } // namespace |
| 1393 | 1393 |
| 1394 } // namespace net | 1394 } // namespace net |
| OLD | NEW |