| 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 <sys/epoll.h> | 6 #include <sys/epoll.h> |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 783 client_->client()->session()->GetNumSentClientHellos()); | 783 client_->client()->session()->GetNumSentClientHellos()); |
| 784 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); | 784 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); |
| 785 | 785 |
| 786 client_->Disconnect(); | 786 client_->Disconnect(); |
| 787 | 787 |
| 788 // The 0-RTT handshake should succeed. | 788 // The 0-RTT handshake should succeed. |
| 789 client_->Connect(); | 789 client_->Connect(); |
| 790 client_->WaitForResponseForMs(-1); | 790 client_->WaitForResponseForMs(-1); |
| 791 ASSERT_TRUE(client_->client()->connected()); | 791 ASSERT_TRUE(client_->client()->connected()); |
| 792 EXPECT_EQ(kFooResponseBody, client_->SendCustomSynchronousRequest(request)); | 792 EXPECT_EQ(kFooResponseBody, client_->SendCustomSynchronousRequest(request)); |
| 793 EXPECT_EQ(expected_num_hellos_latest_session, | 793 |
| 794 client_->client()->session()->GetNumSentClientHellos()); | 794 if (negotiated_version_ <= QUIC_VERSION_32) { |
| 795 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); | 795 EXPECT_EQ(expected_num_hellos_latest_session, |
| 796 client_->client()->session()->GetNumSentClientHellos()); |
| 797 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); |
| 798 } else { |
| 799 EXPECT_EQ(1, client_->client()->session()->GetNumSentClientHellos()); |
| 800 EXPECT_EQ(1, client_->client()->GetNumSentClientHellos()); |
| 801 } |
| 796 | 802 |
| 797 client_->Disconnect(); | 803 client_->Disconnect(); |
| 798 | 804 |
| 799 // Restart the server so that the 0-RTT handshake will take 1 RTT. | 805 // Restart the server so that the 0-RTT handshake will take 1 RTT. |
| 800 StopServer(); | 806 StopServer(); |
| 801 server_writer_ = new PacketDroppingTestWriter(); | 807 server_writer_ = new PacketDroppingTestWriter(); |
| 802 StartServer(); | 808 StartServer(); |
| 803 | 809 |
| 804 client_->Connect(); | 810 client_->Connect(); |
| 805 ASSERT_TRUE(client_->client()->connected()); | 811 ASSERT_TRUE(client_->client()->connected()); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 836 client_->client()->session()->GetNumSentClientHellos()); | 842 client_->client()->session()->GetNumSentClientHellos()); |
| 837 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); | 843 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); |
| 838 | 844 |
| 839 client_->Disconnect(); | 845 client_->Disconnect(); |
| 840 | 846 |
| 841 // The 0-RTT handshake should succeed. | 847 // The 0-RTT handshake should succeed. |
| 842 client_->Connect(); | 848 client_->Connect(); |
| 843 client_->WaitForInitialResponse(); | 849 client_->WaitForInitialResponse(); |
| 844 ASSERT_TRUE(client_->client()->connected()); | 850 ASSERT_TRUE(client_->client()->connected()); |
| 845 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); | 851 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); |
| 846 EXPECT_EQ(expected_num_hellos_latest_session, | 852 |
| 847 client_->client()->session()->GetNumSentClientHellos()); | 853 if (negotiated_version_ <= QUIC_VERSION_32) { |
| 848 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); | 854 EXPECT_EQ(expected_num_hellos_latest_session, |
| 855 client_->client()->session()->GetNumSentClientHellos()); |
| 856 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); |
| 857 } else { |
| 858 EXPECT_EQ(1, client_->client()->session()->GetNumSentClientHellos()); |
| 859 EXPECT_EQ(1, client_->client()->GetNumSentClientHellos()); |
| 860 } |
| 849 | 861 |
| 850 client_->Disconnect(); | 862 client_->Disconnect(); |
| 851 | 863 |
| 852 // Restart the server so that the 0-RTT handshake will take 1 RTT. | 864 // Restart the server so that the 0-RTT handshake will take 1 RTT. |
| 853 StopServer(); | 865 StopServer(); |
| 854 server_writer_ = new PacketDroppingTestWriter(); | 866 server_writer_ = new PacketDroppingTestWriter(); |
| 855 StartServer(); | 867 StartServer(); |
| 856 | 868 |
| 857 client_->Connect(); | 869 client_->Connect(); |
| 858 ASSERT_TRUE(client_->client()->connected()); | 870 ASSERT_TRUE(client_->client()->connected()); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 895 client_->client()->session()->GetNumSentClientHellos()); | 907 client_->client()->session()->GetNumSentClientHellos()); |
| 896 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); | 908 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); |
| 897 | 909 |
| 898 client_->Disconnect(); | 910 client_->Disconnect(); |
| 899 | 911 |
| 900 // The 0-RTT handshake should succeed. | 912 // The 0-RTT handshake should succeed. |
| 901 client_->Connect(); | 913 client_->Connect(); |
| 902 client_->WaitForInitialResponse(); | 914 client_->WaitForInitialResponse(); |
| 903 ASSERT_TRUE(client_->client()->connected()); | 915 ASSERT_TRUE(client_->client()->connected()); |
| 904 EXPECT_EQ(kFooResponseBody, client_->SendCustomSynchronousRequest(request)); | 916 EXPECT_EQ(kFooResponseBody, client_->SendCustomSynchronousRequest(request)); |
| 905 EXPECT_EQ(expected_num_hellos_latest_session, | 917 |
| 906 client_->client()->session()->GetNumSentClientHellos()); | 918 if (negotiated_version_ <= QUIC_VERSION_32) { |
| 907 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); | 919 EXPECT_EQ(expected_num_hellos_latest_session, |
| 920 client_->client()->session()->GetNumSentClientHellos()); |
| 921 EXPECT_EQ(2, client_->client()->GetNumSentClientHellos()); |
| 922 } else { |
| 923 EXPECT_EQ(1, client_->client()->session()->GetNumSentClientHellos()); |
| 924 EXPECT_EQ(1, client_->client()->GetNumSentClientHellos()); |
| 925 } |
| 908 | 926 |
| 909 client_->Disconnect(); | 927 client_->Disconnect(); |
| 910 | 928 |
| 911 // Restart the server so that the 0-RTT handshake will take 1 RTT. | 929 // Restart the server so that the 0-RTT handshake will take 1 RTT. |
| 912 StopServer(); | 930 StopServer(); |
| 913 server_writer_ = new PacketDroppingTestWriter(); | 931 server_writer_ = new PacketDroppingTestWriter(); |
| 914 StartServer(); | 932 StartServer(); |
| 915 | 933 |
| 916 client_->Connect(); | 934 client_->Connect(); |
| 917 ASSERT_TRUE(client_->client()->connected()); | 935 ASSERT_TRUE(client_->client()->connected()); |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1271 | 1289 |
| 1272 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); | 1290 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); |
| 1273 EXPECT_EQ(200u, client_->response_headers()->parsed_response_code()); | 1291 EXPECT_EQ(200u, client_->response_headers()->parsed_response_code()); |
| 1274 | 1292 |
| 1275 QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader( | 1293 QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader( |
| 1276 client_->client()->session()->connection()); | 1294 client_->client()->session()->connection()); |
| 1277 EXPECT_EQ(PACKET_0BYTE_CONNECTION_ID, | 1295 EXPECT_EQ(PACKET_0BYTE_CONNECTION_ID, |
| 1278 header->public_header.connection_id_length); | 1296 header->public_header.connection_id_length); |
| 1279 } | 1297 } |
| 1280 | 1298 |
| 1281 TEST_P(EndToEndTest, 1ByteConnectionId) { | |
| 1282 client_config_.SetBytesForConnectionIdToSend(1); | |
| 1283 ASSERT_TRUE(Initialize()); | |
| 1284 | |
| 1285 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); | |
| 1286 EXPECT_EQ(200u, client_->response_headers()->parsed_response_code()); | |
| 1287 QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader( | |
| 1288 client_->client()->session()->connection()); | |
| 1289 EXPECT_EQ(PACKET_1BYTE_CONNECTION_ID, | |
| 1290 header->public_header.connection_id_length); | |
| 1291 } | |
| 1292 | |
| 1293 TEST_P(EndToEndTest, 4ByteConnectionId) { | |
| 1294 client_config_.SetBytesForConnectionIdToSend(4); | |
| 1295 ASSERT_TRUE(Initialize()); | |
| 1296 | |
| 1297 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); | |
| 1298 EXPECT_EQ(200u, client_->response_headers()->parsed_response_code()); | |
| 1299 QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader( | |
| 1300 client_->client()->session()->connection()); | |
| 1301 EXPECT_EQ(PACKET_4BYTE_CONNECTION_ID, | |
| 1302 header->public_header.connection_id_length); | |
| 1303 } | |
| 1304 | |
| 1305 TEST_P(EndToEndTest, 8ByteConnectionId) { | 1299 TEST_P(EndToEndTest, 8ByteConnectionId) { |
| 1306 client_config_.SetBytesForConnectionIdToSend(8); | 1300 client_config_.SetBytesForConnectionIdToSend(8); |
| 1307 ASSERT_TRUE(Initialize()); | 1301 ASSERT_TRUE(Initialize()); |
| 1308 | 1302 |
| 1309 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); | 1303 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); |
| 1310 EXPECT_EQ(200u, client_->response_headers()->parsed_response_code()); | 1304 EXPECT_EQ(200u, client_->response_headers()->parsed_response_code()); |
| 1311 QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader( | 1305 QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader( |
| 1312 client_->client()->session()->connection()); | 1306 client_->client()->session()->connection()); |
| 1313 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, | 1307 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, |
| 1314 header->public_header.connection_id_length); | 1308 header->public_header.connection_id_length); |
| (...skipping 1336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2651 client_->client()->WaitForCryptoHandshakeConfirmed(); | 2645 client_->client()->WaitForCryptoHandshakeConfirmed(); |
| 2652 SetPacketLossPercentage(1); | 2646 SetPacketLossPercentage(1); |
| 2653 client_->SendRequest("/huge_response"); | 2647 client_->SendRequest("/huge_response"); |
| 2654 client_->WaitForResponse(); | 2648 client_->WaitForResponse(); |
| 2655 VerifyCleanConnection(false); | 2649 VerifyCleanConnection(false); |
| 2656 } | 2650 } |
| 2657 | 2651 |
| 2658 } // namespace | 2652 } // namespace |
| 2659 } // namespace test | 2653 } // namespace test |
| 2660 } // namespace net | 2654 } // namespace net |
| OLD | NEW |