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 |