OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/callback.h" | 7 #include "base/callback.h" |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "base/platform_thread.h" | 10 #include "base/platform_thread.h" |
(...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
742 EXPECT_EQ(3, GetOrderOfRequest(3)); | 742 EXPECT_EQ(3, GetOrderOfRequest(3)); |
743 EXPECT_EQ(4, GetOrderOfRequest(4)); | 743 EXPECT_EQ(4, GetOrderOfRequest(4)); |
744 | 744 |
745 // Request ("b", HIGHEST) has the highest priority, then ("a", MEDIUM), | 745 // Request ("b", HIGHEST) has the highest priority, then ("a", MEDIUM), |
746 // and then ("c", LOWEST). | 746 // and then ("c", LOWEST). |
747 EXPECT_EQ(7, GetOrderOfRequest(5)); | 747 EXPECT_EQ(7, GetOrderOfRequest(5)); |
748 EXPECT_EQ(6, GetOrderOfRequest(6)); | 748 EXPECT_EQ(6, GetOrderOfRequest(6)); |
749 EXPECT_EQ(5, GetOrderOfRequest(7)); | 749 EXPECT_EQ(5, GetOrderOfRequest(7)); |
750 | 750 |
751 // Make sure we test order of all requests made. | 751 // Make sure we test order of all requests made. |
752 EXPECT_EQ(kIndexOutOfBounds, GetOrderOfRequest(8)); | 752 EXPECT_EQ(kIndexOutOfBounds, GetOrderOfRequest(9)); |
753 } | 753 } |
754 | 754 |
755 TEST_F(ClientSocketPoolBaseTest, TotalLimitRespectsGroupLimit) { | 755 TEST_F(ClientSocketPoolBaseTest, TotalLimitRespectsGroupLimit) { |
756 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); | 756 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); |
757 | 757 |
758 EXPECT_EQ(OK, StartRequest("a", LOWEST)); | 758 EXPECT_EQ(OK, StartRequest("a", LOWEST)); |
759 EXPECT_EQ(OK, StartRequest("a", LOW)); | 759 EXPECT_EQ(OK, StartRequest("a", LOW)); |
760 EXPECT_EQ(OK, StartRequest("b", HIGHEST)); | 760 EXPECT_EQ(OK, StartRequest("b", HIGHEST)); |
761 EXPECT_EQ(OK, StartRequest("b", MEDIUM)); | 761 EXPECT_EQ(OK, StartRequest("b", MEDIUM)); |
762 | 762 |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1019 | 1019 |
1020 EXPECT_EQ(kDefaultMaxSockets, client_socket_factory_.allocation_count()); | 1020 EXPECT_EQ(kDefaultMaxSockets, client_socket_factory_.allocation_count()); |
1021 EXPECT_EQ(kDefaultMaxSockets - 1, pool_->IdleSocketCount()); | 1021 EXPECT_EQ(kDefaultMaxSockets - 1, pool_->IdleSocketCount()); |
1022 } | 1022 } |
1023 | 1023 |
1024 TEST_F(ClientSocketPoolBaseTest, PendingRequests) { | 1024 TEST_F(ClientSocketPoolBaseTest, PendingRequests) { |
1025 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); | 1025 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); |
1026 | 1026 |
1027 EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); | 1027 EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); |
1028 EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); | 1028 EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); |
| 1029 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", IDLE)); |
1029 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOWEST)); | 1030 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOWEST)); |
1030 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", MEDIUM)); | 1031 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", MEDIUM)); |
1031 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", HIGHEST)); | 1032 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", HIGHEST)); |
1032 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOW)); | 1033 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOW)); |
1033 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOWEST)); | 1034 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOWEST)); |
1034 | 1035 |
1035 ReleaseAllConnections(KEEP_ALIVE); | 1036 ReleaseAllConnections(KEEP_ALIVE); |
1036 | 1037 |
1037 EXPECT_EQ(kDefaultMaxSocketsPerGroup, | 1038 EXPECT_EQ(kDefaultMaxSocketsPerGroup, |
1038 client_socket_factory_.allocation_count()); | 1039 client_socket_factory_.allocation_count()); |
1039 EXPECT_EQ(requests_.size() - kDefaultMaxSocketsPerGroup, completion_count_); | 1040 EXPECT_EQ(requests_.size() - kDefaultMaxSocketsPerGroup, completion_count_); |
1040 | 1041 |
1041 EXPECT_EQ(1, GetOrderOfRequest(1)); | 1042 EXPECT_EQ(1, GetOrderOfRequest(1)); |
1042 EXPECT_EQ(2, GetOrderOfRequest(2)); | 1043 EXPECT_EQ(2, GetOrderOfRequest(2)); |
1043 EXPECT_EQ(6, GetOrderOfRequest(3)); | 1044 EXPECT_EQ(8, GetOrderOfRequest(3)); |
1044 EXPECT_EQ(4, GetOrderOfRequest(4)); | 1045 EXPECT_EQ(6, GetOrderOfRequest(4)); |
1045 EXPECT_EQ(3, GetOrderOfRequest(5)); | 1046 EXPECT_EQ(4, GetOrderOfRequest(5)); |
1046 EXPECT_EQ(5, GetOrderOfRequest(6)); | 1047 EXPECT_EQ(3, GetOrderOfRequest(6)); |
1047 EXPECT_EQ(7, GetOrderOfRequest(7)); | 1048 EXPECT_EQ(5, GetOrderOfRequest(7)); |
| 1049 EXPECT_EQ(7, GetOrderOfRequest(8)); |
1048 | 1050 |
1049 // Make sure we test order of all requests made. | 1051 // Make sure we test order of all requests made. |
1050 EXPECT_EQ(kIndexOutOfBounds, GetOrderOfRequest(8)); | 1052 EXPECT_EQ(kIndexOutOfBounds, GetOrderOfRequest(9)); |
1051 } | 1053 } |
1052 | 1054 |
1053 TEST_F(ClientSocketPoolBaseTest, PendingRequests_NoKeepAlive) { | 1055 TEST_F(ClientSocketPoolBaseTest, PendingRequests_NoKeepAlive) { |
1054 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); | 1056 CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); |
1055 | 1057 |
1056 EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); | 1058 EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); |
1057 EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); | 1059 EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); |
1058 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOWEST)); | 1060 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", LOWEST)); |
1059 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", MEDIUM)); | 1061 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", MEDIUM)); |
1060 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", HIGHEST)); | 1062 EXPECT_EQ(ERR_IO_PENDING, StartRequest("a", HIGHEST)); |
(...skipping 1032 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2093 // Finally, signal the waiting Connect. | 2095 // Finally, signal the waiting Connect. |
2094 client_socket_factory_.SignalJobs(); | 2096 client_socket_factory_.SignalJobs(); |
2095 EXPECT_EQ(0, pool_->NumConnectJobsInGroup("a")); | 2097 EXPECT_EQ(0, pool_->NumConnectJobsInGroup("a")); |
2096 | 2098 |
2097 MessageLoop::current()->RunAllPending(); | 2099 MessageLoop::current()->RunAllPending(); |
2098 } | 2100 } |
2099 | 2101 |
2100 } // namespace | 2102 } // namespace |
2101 | 2103 |
2102 } // namespace net | 2104 } // namespace net |
OLD | NEW |