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 <stddef.h> | 5 #include <stddef.h> |
6 #include <string> | 6 #include <string> |
7 #include <sys/epoll.h> | 7 #include <sys/epoll.h> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 1082 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1093 request.AddHeader("content-length", "3"); | 1093 request.AddHeader("content-length", "3"); |
1094 request.set_has_complete_message(false); | 1094 request.set_has_complete_message(false); |
1095 | 1095 |
1096 // The server supports a small number of additional streams beyond the | 1096 // The server supports a small number of additional streams beyond the |
1097 // negotiated limit. Open enough streams to go beyond that limit. | 1097 // negotiated limit. Open enough streams to go beyond that limit. |
1098 for (int i = 0; i < kServerMaxStreams + 1; ++i) { | 1098 for (int i = 0; i < kServerMaxStreams + 1; ++i) { |
1099 client_->SendMessage(request); | 1099 client_->SendMessage(request); |
1100 } | 1100 } |
1101 client_->WaitForResponse(); | 1101 client_->WaitForResponse(); |
1102 | 1102 |
1103 EXPECT_FALSE(client_->connected()); | 1103 if (negotiated_version_ <= QUIC_VERSION_27) { |
1104 EXPECT_EQ(QUIC_STREAM_CONNECTION_ERROR, client_->stream_error()); | 1104 EXPECT_FALSE(client_->connected()); |
1105 EXPECT_EQ(QUIC_TOO_MANY_OPEN_STREAMS, client_->connection_error()); | 1105 EXPECT_EQ(QUIC_STREAM_CONNECTION_ERROR, client_->stream_error()); |
| 1106 EXPECT_EQ(QUIC_TOO_MANY_OPEN_STREAMS, client_->connection_error()); |
| 1107 } else { |
| 1108 EXPECT_TRUE(client_->connected()); |
| 1109 EXPECT_EQ(QUIC_REFUSED_STREAM, client_->stream_error()); |
| 1110 EXPECT_EQ(QUIC_NO_ERROR, client_->connection_error()); |
| 1111 } |
1106 } | 1112 } |
1107 | 1113 |
1108 TEST_P(EndToEndTest, NegotiateCongestionControl) { | 1114 TEST_P(EndToEndTest, NegotiateCongestionControl) { |
1109 ValueRestore<bool> old_flag(&FLAGS_quic_allow_bbr, true); | 1115 ValueRestore<bool> old_flag(&FLAGS_quic_allow_bbr, true); |
1110 ASSERT_TRUE(Initialize()); | 1116 ASSERT_TRUE(Initialize()); |
1111 client_->client()->WaitForCryptoHandshakeConfirmed(); | 1117 client_->client()->WaitForCryptoHandshakeConfirmed(); |
1112 | 1118 |
1113 CongestionControlType expected_congestion_control_type = kReno; | 1119 CongestionControlType expected_congestion_control_type = kReno; |
1114 switch (GetParam().congestion_control_tag) { | 1120 switch (GetParam().congestion_control_tag) { |
1115 case kRENO: | 1121 case kRENO: |
(...skipping 801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1917 | 1923 |
1918 // The connection should not be terminated. | 1924 // The connection should not be terminated. |
1919 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); | 1925 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); |
1920 EXPECT_EQ(200u, client_->response_headers()->parsed_response_code()); | 1926 EXPECT_EQ(200u, client_->response_headers()->parsed_response_code()); |
1921 } | 1927 } |
1922 | 1928 |
1923 } // namespace | 1929 } // namespace |
1924 } // namespace test | 1930 } // namespace test |
1925 } // namespace tools | 1931 } // namespace tools |
1926 } // namespace net | 1932 } // namespace net |
OLD | NEW |