Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(650)

Side by Side Diff: net/quic/quic_framer_test.cc

Issue 2011653004: Remove obsolete fields in quic_protocol and their current usage in QUIC. Reorders QuicAckFrame fie… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@122721477
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/quic_framer.cc ('k') | net/quic/quic_packet_creator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "net/quic/quic_framer.h" 5 #include "net/quic/quic_framer.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <map> 10 #include <map>
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 681 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
682 ASSERT_TRUE(visitor_.header_.get()); 682 ASSERT_TRUE(visitor_.header_.get());
683 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 683 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
684 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag); 684 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
685 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 685 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
686 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 686 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
687 EXPECT_FALSE(visitor_.header_->fec_flag); 687 EXPECT_FALSE(visitor_.header_->fec_flag);
688 EXPECT_FALSE(visitor_.header_->entropy_flag); 688 EXPECT_FALSE(visitor_.header_->entropy_flag);
689 EXPECT_EQ(0, visitor_.header_->entropy_hash); 689 EXPECT_EQ(0, visitor_.header_->entropy_hash);
690 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 690 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
691 EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group);
692 EXPECT_EQ(0u, visitor_.header_->fec_group);
693 691
694 // Now test framing boundaries. 692 // Now test framing boundaries.
695 for (size_t i = 0; 693 for (size_t i = 0;
696 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 694 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
697 !kIncludeVersion, !kIncludePathId, 695 !kIncludeVersion, !kIncludePathId,
698 !kIncludeDiversificationNonce, 696 !kIncludeDiversificationNonce,
699 PACKET_6BYTE_PACKET_NUMBER); 697 PACKET_6BYTE_PACKET_NUMBER);
700 ++i) { 698 ++i) {
701 string expected_error; 699 string expected_error;
702 if (i < kConnectionIdOffset) { 700 if (i < kConnectionIdOffset) {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 751 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
754 ASSERT_TRUE(visitor_.header_.get()); 752 ASSERT_TRUE(visitor_.header_.get());
755 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 753 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
756 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag); 754 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
757 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 755 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
758 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 756 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
759 EXPECT_FALSE(visitor_.header_->fec_flag); 757 EXPECT_FALSE(visitor_.header_->fec_flag);
760 EXPECT_FALSE(visitor_.header_->entropy_flag); 758 EXPECT_FALSE(visitor_.header_->entropy_flag);
761 EXPECT_EQ(0, visitor_.header_->entropy_hash); 759 EXPECT_EQ(0, visitor_.header_->entropy_hash);
762 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 760 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
763 EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group);
764 EXPECT_EQ(0u, visitor_.header_->fec_group);
765 761
766 // Now test framing boundaries. 762 // Now test framing boundaries.
767 for (size_t i = 0; 763 for (size_t i = 0;
768 i < GetPacketHeaderSize(framer_.version(), PACKET_0BYTE_CONNECTION_ID, 764 i < GetPacketHeaderSize(framer_.version(), PACKET_0BYTE_CONNECTION_ID,
769 !kIncludeVersion, !kIncludePathId, 765 !kIncludeVersion, !kIncludePathId,
770 !kIncludeDiversificationNonce, 766 !kIncludeDiversificationNonce,
771 PACKET_6BYTE_PACKET_NUMBER); 767 PACKET_6BYTE_PACKET_NUMBER);
772 ++i) { 768 ++i) {
773 string expected_error; 769 string expected_error;
774 if (i < kConnectionIdOffset) { 770 if (i < kConnectionIdOffset) {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 ASSERT_TRUE(visitor_.header_.get()); 826 ASSERT_TRUE(visitor_.header_.get());
831 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 827 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
832 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag); 828 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
833 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 829 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
834 EXPECT_TRUE(visitor_.header_->public_header.version_flag); 830 EXPECT_TRUE(visitor_.header_->public_header.version_flag);
835 EXPECT_EQ(GetParam(), visitor_.header_->public_header.versions[0]); 831 EXPECT_EQ(GetParam(), visitor_.header_->public_header.versions[0]);
836 EXPECT_FALSE(visitor_.header_->fec_flag); 832 EXPECT_FALSE(visitor_.header_->fec_flag);
837 EXPECT_FALSE(visitor_.header_->entropy_flag); 833 EXPECT_FALSE(visitor_.header_->entropy_flag);
838 EXPECT_EQ(0, visitor_.header_->entropy_hash); 834 EXPECT_EQ(0, visitor_.header_->entropy_hash);
839 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 835 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
840 EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group);
841 EXPECT_EQ(0u, visitor_.header_->fec_group);
842 836
843 // Now test framing boundaries. 837 // Now test framing boundaries.
844 for (size_t i = 0; 838 for (size_t i = 0;
845 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 839 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
846 kIncludeVersion, !kIncludePathId, 840 kIncludeVersion, !kIncludePathId,
847 !kIncludeDiversificationNonce, 841 !kIncludeDiversificationNonce,
848 PACKET_6BYTE_PACKET_NUMBER); 842 PACKET_6BYTE_PACKET_NUMBER);
849 ++i) { 843 ++i) {
850 string expected_error; 844 string expected_error;
851 if (i < kConnectionIdOffset) { 845 if (i < kConnectionIdOffset) {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
909 !kIncludeDiversificationNonce)); 903 !kIncludeDiversificationNonce));
910 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 904 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
911 EXPECT_TRUE(visitor_.header_->public_header.multipath_flag); 905 EXPECT_TRUE(visitor_.header_->public_header.multipath_flag);
912 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 906 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
913 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 907 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
914 EXPECT_FALSE(visitor_.header_->fec_flag); 908 EXPECT_FALSE(visitor_.header_->fec_flag);
915 EXPECT_FALSE(visitor_.header_->entropy_flag); 909 EXPECT_FALSE(visitor_.header_->entropy_flag);
916 EXPECT_EQ(0, visitor_.header_->entropy_hash); 910 EXPECT_EQ(0, visitor_.header_->entropy_hash);
917 EXPECT_EQ(kPathId, visitor_.header_->path_id); 911 EXPECT_EQ(kPathId, visitor_.header_->path_id);
918 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 912 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
919 EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group);
920 EXPECT_EQ(0u, visitor_.header_->fec_group);
921 913
922 // Now test framing boundaries. 914 // Now test framing boundaries.
923 for (size_t i = 0; 915 for (size_t i = 0;
924 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 916 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
925 !kIncludeVersion, kIncludePathId, 917 !kIncludeVersion, kIncludePathId,
926 !kIncludeDiversificationNonce, 918 !kIncludeDiversificationNonce,
927 PACKET_6BYTE_PACKET_NUMBER); 919 PACKET_6BYTE_PACKET_NUMBER);
928 ++i) { 920 ++i) {
929 string expected_error; 921 string expected_error;
930 if (i < kConnectionIdOffset) { 922 if (i < kConnectionIdOffset) {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 986 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
995 EXPECT_TRUE(visitor_.header_->public_header.multipath_flag); 987 EXPECT_TRUE(visitor_.header_->public_header.multipath_flag);
996 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 988 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
997 EXPECT_TRUE(visitor_.header_->public_header.version_flag); 989 EXPECT_TRUE(visitor_.header_->public_header.version_flag);
998 EXPECT_EQ(GetParam(), visitor_.header_->public_header.versions[0]); 990 EXPECT_EQ(GetParam(), visitor_.header_->public_header.versions[0]);
999 EXPECT_FALSE(visitor_.header_->fec_flag); 991 EXPECT_FALSE(visitor_.header_->fec_flag);
1000 EXPECT_FALSE(visitor_.header_->entropy_flag); 992 EXPECT_FALSE(visitor_.header_->entropy_flag);
1001 EXPECT_EQ(0, visitor_.header_->entropy_hash); 993 EXPECT_EQ(0, visitor_.header_->entropy_hash);
1002 EXPECT_EQ(kPathId, visitor_.header_->path_id); 994 EXPECT_EQ(kPathId, visitor_.header_->path_id);
1003 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 995 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
1004 EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group);
1005 EXPECT_EQ(0u, visitor_.header_->fec_group);
1006 996
1007 // Now test framing boundaries. 997 // Now test framing boundaries.
1008 for (size_t i = 0; 998 for (size_t i = 0;
1009 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 999 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
1010 !kIncludeVersion, kIncludePathId, 1000 !kIncludeVersion, kIncludePathId,
1011 !kIncludeDiversificationNonce, 1001 !kIncludeDiversificationNonce,
1012 PACKET_6BYTE_PACKET_NUMBER); 1002 PACKET_6BYTE_PACKET_NUMBER);
1013 ++i) { 1003 ++i) {
1014 string expected_error; 1004 string expected_error;
1015 if (i < kConnectionIdOffset) { 1005 if (i < kConnectionIdOffset) {
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
1236 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 1226 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
1237 ASSERT_TRUE(visitor_.header_.get()); 1227 ASSERT_TRUE(visitor_.header_.get());
1238 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 1228 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
1239 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag); 1229 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
1240 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 1230 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
1241 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 1231 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
1242 EXPECT_FALSE(visitor_.header_->fec_flag); 1232 EXPECT_FALSE(visitor_.header_->fec_flag);
1243 EXPECT_FALSE(visitor_.header_->entropy_flag); 1233 EXPECT_FALSE(visitor_.header_->entropy_flag);
1244 EXPECT_EQ(0, visitor_.header_->entropy_hash); 1234 EXPECT_EQ(0, visitor_.header_->entropy_hash);
1245 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 1235 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
1246 EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group);
1247 EXPECT_EQ(0u, visitor_.header_->fec_group);
1248 1236
1249 // Now test framing boundaries. 1237 // Now test framing boundaries.
1250 for (size_t i = 0; 1238 for (size_t i = 0;
1251 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 1239 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
1252 !kIncludeVersion, !kIncludePathId, 1240 !kIncludeVersion, !kIncludePathId,
1253 !kIncludeDiversificationNonce, 1241 !kIncludeDiversificationNonce,
1254 PACKET_4BYTE_PACKET_NUMBER); 1242 PACKET_4BYTE_PACKET_NUMBER);
1255 ++i) { 1243 ++i) {
1256 string expected_error; 1244 string expected_error;
1257 if (i < kConnectionIdOffset) { 1245 if (i < kConnectionIdOffset) {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1309 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 1297 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
1310 ASSERT_TRUE(visitor_.header_.get()); 1298 ASSERT_TRUE(visitor_.header_.get());
1311 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 1299 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
1312 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag); 1300 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
1313 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 1301 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
1314 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 1302 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
1315 EXPECT_FALSE(visitor_.header_->fec_flag); 1303 EXPECT_FALSE(visitor_.header_->fec_flag);
1316 EXPECT_FALSE(visitor_.header_->entropy_flag); 1304 EXPECT_FALSE(visitor_.header_->entropy_flag);
1317 EXPECT_EQ(0, visitor_.header_->entropy_hash); 1305 EXPECT_EQ(0, visitor_.header_->entropy_hash);
1318 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 1306 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
1319 EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group);
1320 EXPECT_EQ(0u, visitor_.header_->fec_group);
1321 1307
1322 // Now test framing boundaries. 1308 // Now test framing boundaries.
1323 for (size_t i = 0; 1309 for (size_t i = 0;
1324 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 1310 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
1325 !kIncludeVersion, !kIncludePathId, 1311 !kIncludeVersion, !kIncludePathId,
1326 !kIncludeDiversificationNonce, 1312 !kIncludeDiversificationNonce,
1327 PACKET_2BYTE_PACKET_NUMBER); 1313 PACKET_2BYTE_PACKET_NUMBER);
1328 ++i) { 1314 ++i) {
1329 string expected_error; 1315 string expected_error;
1330 if (i < kConnectionIdOffset) { 1316 if (i < kConnectionIdOffset) {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1382 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error()); 1368 EXPECT_EQ(QUIC_MISSING_PAYLOAD, framer_.error());
1383 ASSERT_TRUE(visitor_.header_.get()); 1369 ASSERT_TRUE(visitor_.header_.get());
1384 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id); 1370 EXPECT_EQ(kConnectionId, visitor_.header_->public_header.connection_id);
1385 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag); 1371 EXPECT_FALSE(visitor_.header_->public_header.multipath_flag);
1386 EXPECT_FALSE(visitor_.header_->public_header.reset_flag); 1372 EXPECT_FALSE(visitor_.header_->public_header.reset_flag);
1387 EXPECT_FALSE(visitor_.header_->public_header.version_flag); 1373 EXPECT_FALSE(visitor_.header_->public_header.version_flag);
1388 EXPECT_FALSE(visitor_.header_->fec_flag); 1374 EXPECT_FALSE(visitor_.header_->fec_flag);
1389 EXPECT_FALSE(visitor_.header_->entropy_flag); 1375 EXPECT_FALSE(visitor_.header_->entropy_flag);
1390 EXPECT_EQ(0, visitor_.header_->entropy_hash); 1376 EXPECT_EQ(0, visitor_.header_->entropy_hash);
1391 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number); 1377 EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
1392 EXPECT_EQ(NOT_IN_FEC_GROUP, visitor_.header_->is_in_fec_group);
1393 EXPECT_EQ(0u, visitor_.header_->fec_group);
1394 1378
1395 // Now test framing boundaries. 1379 // Now test framing boundaries.
1396 for (size_t i = 0; 1380 for (size_t i = 0;
1397 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID, 1381 i < GetPacketHeaderSize(framer_.version(), PACKET_8BYTE_CONNECTION_ID,
1398 !kIncludeVersion, !kIncludePathId, 1382 !kIncludeVersion, !kIncludePathId,
1399 !kIncludeDiversificationNonce, 1383 !kIncludeDiversificationNonce,
1400 PACKET_1BYTE_PACKET_NUMBER); 1384 PACKET_1BYTE_PACKET_NUMBER);
1401 ++i) { 1385 ++i) {
1402 string expected_error; 1386 string expected_error;
1403 if (i < kConnectionIdOffset) { 1387 if (i < kConnectionIdOffset) {
(...skipping 3003 matching lines...) Expand 10 before | Expand all | Expand 10 after
4407 } 4391 }
4408 4392
4409 TEST_P(QuicFramerTest, BuildPaddingFramePacket) { 4393 TEST_P(QuicFramerTest, BuildPaddingFramePacket) {
4410 QuicPacketHeader header; 4394 QuicPacketHeader header;
4411 header.public_header.connection_id = kConnectionId; 4395 header.public_header.connection_id = kConnectionId;
4412 header.public_header.reset_flag = false; 4396 header.public_header.reset_flag = false;
4413 header.public_header.version_flag = false; 4397 header.public_header.version_flag = false;
4414 header.fec_flag = false; 4398 header.fec_flag = false;
4415 header.entropy_flag = false; 4399 header.entropy_flag = false;
4416 header.packet_number = kPacketNumber; 4400 header.packet_number = kPacketNumber;
4417 header.fec_group = 0;
4418 4401
4419 QuicPaddingFrame padding_frame; 4402 QuicPaddingFrame padding_frame;
4420 4403
4421 QuicFrames frames; 4404 QuicFrames frames;
4422 frames.push_back(QuicFrame(padding_frame)); 4405 frames.push_back(QuicFrame(padding_frame));
4423 4406
4424 // clang-format off 4407 // clang-format off
4425 unsigned char packet[kMaxPacketSize] = { 4408 unsigned char packet[kMaxPacketSize] = {
4426 // public flags (8 byte connection_id) 4409 // public flags (8 byte connection_id)
4427 static_cast<unsigned char>( 4410 static_cast<unsigned char>(
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
4475 4458
4476 TEST_P(QuicFramerTest, Build4ByteSequenceNumberPaddingFramePacket) { 4459 TEST_P(QuicFramerTest, Build4ByteSequenceNumberPaddingFramePacket) {
4477 QuicPacketHeader header; 4460 QuicPacketHeader header;
4478 header.public_header.connection_id = kConnectionId; 4461 header.public_header.connection_id = kConnectionId;
4479 header.public_header.reset_flag = false; 4462 header.public_header.reset_flag = false;
4480 header.public_header.version_flag = false; 4463 header.public_header.version_flag = false;
4481 header.fec_flag = false; 4464 header.fec_flag = false;
4482 header.entropy_flag = false; 4465 header.entropy_flag = false;
4483 header.public_header.packet_number_length = PACKET_4BYTE_PACKET_NUMBER; 4466 header.public_header.packet_number_length = PACKET_4BYTE_PACKET_NUMBER;
4484 header.packet_number = kPacketNumber; 4467 header.packet_number = kPacketNumber;
4485 header.fec_group = 0;
4486 4468
4487 QuicPaddingFrame padding_frame; 4469 QuicPaddingFrame padding_frame;
4488 4470
4489 QuicFrames frames; 4471 QuicFrames frames;
4490 frames.push_back(QuicFrame(padding_frame)); 4472 frames.push_back(QuicFrame(padding_frame));
4491 4473
4492 // clang-format off 4474 // clang-format off
4493 unsigned char packet[kMaxPacketSize] = { 4475 unsigned char packet[kMaxPacketSize] = {
4494 // public flags (8 byte connection_id and 4 byte packet number) 4476 // public flags (8 byte connection_id and 4 byte packet number)
4495 static_cast<unsigned char>( 4477 static_cast<unsigned char>(
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
4541 4523
4542 TEST_P(QuicFramerTest, Build2ByteSequenceNumberPaddingFramePacket) { 4524 TEST_P(QuicFramerTest, Build2ByteSequenceNumberPaddingFramePacket) {
4543 QuicPacketHeader header; 4525 QuicPacketHeader header;
4544 header.public_header.connection_id = kConnectionId; 4526 header.public_header.connection_id = kConnectionId;
4545 header.public_header.reset_flag = false; 4527 header.public_header.reset_flag = false;
4546 header.public_header.version_flag = false; 4528 header.public_header.version_flag = false;
4547 header.fec_flag = false; 4529 header.fec_flag = false;
4548 header.entropy_flag = false; 4530 header.entropy_flag = false;
4549 header.public_header.packet_number_length = PACKET_2BYTE_PACKET_NUMBER; 4531 header.public_header.packet_number_length = PACKET_2BYTE_PACKET_NUMBER;
4550 header.packet_number = kPacketNumber; 4532 header.packet_number = kPacketNumber;
4551 header.fec_group = 0;
4552 4533
4553 QuicPaddingFrame padding_frame; 4534 QuicPaddingFrame padding_frame;
4554 4535
4555 QuicFrames frames; 4536 QuicFrames frames;
4556 frames.push_back(QuicFrame(padding_frame)); 4537 frames.push_back(QuicFrame(padding_frame));
4557 4538
4558 // clang-format off 4539 // clang-format off
4559 unsigned char packet[kMaxPacketSize] = { 4540 unsigned char packet[kMaxPacketSize] = {
4560 // public flags (8 byte connection_id and 2 byte packet number) 4541 // public flags (8 byte connection_id and 2 byte packet number)
4561 static_cast<unsigned char>( 4542 static_cast<unsigned char>(
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
4607 4588
4608 TEST_P(QuicFramerTest, Build1ByteSequenceNumberPaddingFramePacket) { 4589 TEST_P(QuicFramerTest, Build1ByteSequenceNumberPaddingFramePacket) {
4609 QuicPacketHeader header; 4590 QuicPacketHeader header;
4610 header.public_header.connection_id = kConnectionId; 4591 header.public_header.connection_id = kConnectionId;
4611 header.public_header.reset_flag = false; 4592 header.public_header.reset_flag = false;
4612 header.public_header.version_flag = false; 4593 header.public_header.version_flag = false;
4613 header.fec_flag = false; 4594 header.fec_flag = false;
4614 header.entropy_flag = false; 4595 header.entropy_flag = false;
4615 header.public_header.packet_number_length = PACKET_1BYTE_PACKET_NUMBER; 4596 header.public_header.packet_number_length = PACKET_1BYTE_PACKET_NUMBER;
4616 header.packet_number = kPacketNumber; 4597 header.packet_number = kPacketNumber;
4617 header.fec_group = 0;
4618 4598
4619 QuicPaddingFrame padding_frame; 4599 QuicPaddingFrame padding_frame;
4620 4600
4621 QuicFrames frames; 4601 QuicFrames frames;
4622 frames.push_back(QuicFrame(padding_frame)); 4602 frames.push_back(QuicFrame(padding_frame));
4623 4603
4624 // clang-format off 4604 // clang-format off
4625 unsigned char packet[kMaxPacketSize] = { 4605 unsigned char packet[kMaxPacketSize] = {
4626 // public flags (8 byte connection_id and 1 byte packet number) 4606 // public flags (8 byte connection_id and 1 byte packet number)
4627 static_cast<unsigned char>( 4607 static_cast<unsigned char>(
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
4672 } 4652 }
4673 4653
4674 TEST_P(QuicFramerTest, BuildStreamFramePacket) { 4654 TEST_P(QuicFramerTest, BuildStreamFramePacket) {
4675 QuicPacketHeader header; 4655 QuicPacketHeader header;
4676 header.public_header.connection_id = kConnectionId; 4656 header.public_header.connection_id = kConnectionId;
4677 header.public_header.reset_flag = false; 4657 header.public_header.reset_flag = false;
4678 header.public_header.version_flag = false; 4658 header.public_header.version_flag = false;
4679 header.fec_flag = false; 4659 header.fec_flag = false;
4680 header.entropy_flag = true; 4660 header.entropy_flag = true;
4681 header.packet_number = kPacketNumber; 4661 header.packet_number = kPacketNumber;
4682 header.fec_group = 0;
4683 4662
4684 QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset, 4663 QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset,
4685 StringPiece("hello world!")); 4664 StringPiece("hello world!"));
4686 4665
4687 QuicFrames frames; 4666 QuicFrames frames;
4688 frames.push_back(QuicFrame(&stream_frame)); 4667 frames.push_back(QuicFrame(&stream_frame));
4689 4668
4690 // clang-format off 4669 // clang-format off
4691 unsigned char packet[] = { 4670 unsigned char packet[] = {
4692 // public flags (8 byte connection_id) 4671 // public flags (8 byte connection_id)
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
4748 } 4727 }
4749 4728
4750 TEST_P(QuicFramerTest, BuildStreamFramePacketWithVersionFlag) { 4729 TEST_P(QuicFramerTest, BuildStreamFramePacketWithVersionFlag) {
4751 QuicPacketHeader header; 4730 QuicPacketHeader header;
4752 header.public_header.connection_id = kConnectionId; 4731 header.public_header.connection_id = kConnectionId;
4753 header.public_header.reset_flag = false; 4732 header.public_header.reset_flag = false;
4754 header.public_header.version_flag = true; 4733 header.public_header.version_flag = true;
4755 header.fec_flag = false; 4734 header.fec_flag = false;
4756 header.entropy_flag = true; 4735 header.entropy_flag = true;
4757 header.packet_number = kPacketNumber; 4736 header.packet_number = kPacketNumber;
4758 header.fec_group = 0;
4759 4737
4760 QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset, 4738 QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset,
4761 StringPiece("hello world!")); 4739 StringPiece("hello world!"));
4762 4740
4763 QuicFrames frames; 4741 QuicFrames frames;
4764 frames.push_back(QuicFrame(&stream_frame)); 4742 frames.push_back(QuicFrame(&stream_frame));
4765 4743
4766 // clang-format off 4744 // clang-format off
4767 unsigned char packet[] = { 4745 unsigned char packet[] = {
4768 // public flags (version, 8 byte connection_id) 4746 // public flags (version, 8 byte connection_id)
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
4821 TEST_P(QuicFramerTest, BuildStreamFramePacketWithMultipathFlag) { 4799 TEST_P(QuicFramerTest, BuildStreamFramePacketWithMultipathFlag) {
4822 QuicPacketHeader header; 4800 QuicPacketHeader header;
4823 header.public_header.connection_id = kConnectionId; 4801 header.public_header.connection_id = kConnectionId;
4824 header.public_header.multipath_flag = true; 4802 header.public_header.multipath_flag = true;
4825 header.public_header.reset_flag = false; 4803 header.public_header.reset_flag = false;
4826 header.public_header.version_flag = false; 4804 header.public_header.version_flag = false;
4827 header.fec_flag = false; 4805 header.fec_flag = false;
4828 header.entropy_flag = true; 4806 header.entropy_flag = true;
4829 header.path_id = kPathId; 4807 header.path_id = kPathId;
4830 header.packet_number = kPacketNumber; 4808 header.packet_number = kPacketNumber;
4831 header.fec_group = 0;
4832 4809
4833 QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset, 4810 QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset,
4834 StringPiece("hello world!")); 4811 StringPiece("hello world!"));
4835 4812
4836 QuicFrames frames; 4813 QuicFrames frames;
4837 frames.push_back(QuicFrame(&stream_frame)); 4814 frames.push_back(QuicFrame(&stream_frame));
4838 4815
4839 // clang-format off 4816 // clang-format off
4840 unsigned char packet[] = { 4817 unsigned char packet[] = {
4841 // public flags (8 byte connection_id) 4818 // public flags (8 byte connection_id)
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
4903 TEST_P(QuicFramerTest, BuildStreamFramePacketWithBothVersionAndMultipathFlag) { 4880 TEST_P(QuicFramerTest, BuildStreamFramePacketWithBothVersionAndMultipathFlag) {
4904 QuicPacketHeader header; 4881 QuicPacketHeader header;
4905 header.public_header.connection_id = kConnectionId; 4882 header.public_header.connection_id = kConnectionId;
4906 header.public_header.multipath_flag = true; 4883 header.public_header.multipath_flag = true;
4907 header.public_header.reset_flag = false; 4884 header.public_header.reset_flag = false;
4908 header.public_header.version_flag = true; 4885 header.public_header.version_flag = true;
4909 header.fec_flag = false; 4886 header.fec_flag = false;
4910 header.entropy_flag = true; 4887 header.entropy_flag = true;
4911 header.path_id = kPathId; 4888 header.path_id = kPathId;
4912 header.packet_number = kPacketNumber; 4889 header.packet_number = kPacketNumber;
4913 header.fec_group = 0;
4914 4890
4915 QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset, 4891 QuicStreamFrame stream_frame(kStreamId, true, kStreamOffset,
4916 StringPiece("hello world!")); 4892 StringPiece("hello world!"));
4917 4893
4918 QuicFrames frames; 4894 QuicFrames frames;
4919 frames.push_back(QuicFrame(&stream_frame)); 4895 frames.push_back(QuicFrame(&stream_frame));
4920 4896
4921 // clang-format off 4897 // clang-format off
4922 unsigned char packet[] = { 4898 unsigned char packet[] = {
4923 // public flags (8 byte connection_id) 4899 // public flags (8 byte connection_id)
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
5013 return; 4989 return;
5014 } 4990 }
5015 4991
5016 QuicPacketHeader header; 4992 QuicPacketHeader header;
5017 header.public_header.connection_id = kConnectionId; 4993 header.public_header.connection_id = kConnectionId;
5018 header.public_header.reset_flag = false; 4994 header.public_header.reset_flag = false;
5019 header.public_header.version_flag = false; 4995 header.public_header.version_flag = false;
5020 header.fec_flag = false; 4996 header.fec_flag = false;
5021 header.entropy_flag = true; 4997 header.entropy_flag = true;
5022 header.packet_number = kPacketNumber; 4998 header.packet_number = kPacketNumber;
5023 header.fec_group = 0;
5024 4999
5025 QuicAckFrame ack_frame; 5000 QuicAckFrame ack_frame;
5026 ack_frame.entropy_hash = 0x43; 5001 ack_frame.entropy_hash = 0x43;
5027 ack_frame.largest_observed = kLargestObserved; 5002 ack_frame.largest_observed = kLargestObserved;
5028 ack_frame.ack_delay_time = QuicTime::Delta::Zero(); 5003 ack_frame.ack_delay_time = QuicTime::Delta::Zero();
5029 ack_frame.packets.Add(kMissingPacket); 5004 ack_frame.packets.Add(kMissingPacket);
5030 5005
5031 QuicFrames frames; 5006 QuicFrames frames;
5032 frames.push_back(QuicFrame(&ack_frame)); 5007 frames.push_back(QuicFrame(&ack_frame));
5033 5008
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
5118 return; 5093 return;
5119 } 5094 }
5120 5095
5121 QuicPacketHeader header; 5096 QuicPacketHeader header;
5122 header.public_header.connection_id = kConnectionId; 5097 header.public_header.connection_id = kConnectionId;
5123 header.public_header.reset_flag = false; 5098 header.public_header.reset_flag = false;
5124 header.public_header.version_flag = false; 5099 header.public_header.version_flag = false;
5125 header.fec_flag = false; 5100 header.fec_flag = false;
5126 header.entropy_flag = true; 5101 header.entropy_flag = true;
5127 header.packet_number = kPacketNumber; 5102 header.packet_number = kPacketNumber;
5128 header.fec_group = 0;
5129 5103
5130 QuicAckFrame ack_frame; 5104 QuicAckFrame ack_frame;
5131 // This entropy hash is different from what shows up in the packet below, 5105 // This entropy hash is different from what shows up in the packet below,
5132 // since entropy is recomputed by the framer on ack truncation (by 5106 // since entropy is recomputed by the framer on ack truncation (by
5133 // TestEntropyCalculator for this test.) 5107 // TestEntropyCalculator for this test.)
5134 ack_frame.entropy_hash = 0x43; 5108 ack_frame.entropy_hash = 0x43;
5135 ack_frame.largest_observed = 2 * 300; 5109 ack_frame.largest_observed = 2 * 300;
5136 ack_frame.ack_delay_time = QuicTime::Delta::Zero(); 5110 ack_frame.ack_delay_time = QuicTime::Delta::Zero();
5137 for (size_t i = 1; i < 2 * 300; i += 2) { 5111 for (size_t i = 1; i < 2 * 300; i += 2) {
5138 ack_frame.packets.Add(i); 5112 ack_frame.packets.Add(i);
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
5316 return; 5290 return;
5317 } 5291 }
5318 5292
5319 QuicPacketHeader header; 5293 QuicPacketHeader header;
5320 header.public_header.connection_id = kConnectionId; 5294 header.public_header.connection_id = kConnectionId;
5321 header.public_header.reset_flag = false; 5295 header.public_header.reset_flag = false;
5322 header.public_header.version_flag = false; 5296 header.public_header.version_flag = false;
5323 header.fec_flag = false; 5297 header.fec_flag = false;
5324 header.entropy_flag = true; 5298 header.entropy_flag = true;
5325 header.packet_number = kPacketNumber; 5299 header.packet_number = kPacketNumber;
5326 header.fec_group = 0;
5327 5300
5328 QuicAckFrame ack_frame; 5301 QuicAckFrame ack_frame;
5329 // This entropy hash is different from what shows up in the packet below, 5302 // This entropy hash is different from what shows up in the packet below,
5330 // since entropy is recomputed by the framer on ack truncation (by 5303 // since entropy is recomputed by the framer on ack truncation (by
5331 // TestEntropyCalculator for this test.) 5304 // TestEntropyCalculator for this test.)
5332 ack_frame.entropy_hash = 0x43; 5305 ack_frame.entropy_hash = 0x43;
5333 ack_frame.largest_observed = 2 * 300; 5306 ack_frame.largest_observed = 2 * 300;
5334 ack_frame.ack_delay_time = QuicTime::Delta::Zero(); 5307 ack_frame.ack_delay_time = QuicTime::Delta::Zero();
5335 for (size_t i = 1; i < 2 * 300; i += 2) { 5308 for (size_t i = 1; i < 2 * 300; i += 2) {
5336 ack_frame.packets.Add(i); 5309 ack_frame.packets.Add(i);
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
5677 if (framer_.version() > QUIC_VERSION_33) { 5650 if (framer_.version() > QUIC_VERSION_33) {
5678 return; 5651 return;
5679 } 5652 }
5680 QuicPacketHeader header; 5653 QuicPacketHeader header;
5681 header.public_header.connection_id = kConnectionId; 5654 header.public_header.connection_id = kConnectionId;
5682 header.public_header.reset_flag = false; 5655 header.public_header.reset_flag = false;
5683 header.public_header.version_flag = false; 5656 header.public_header.version_flag = false;
5684 header.fec_flag = false; 5657 header.fec_flag = false;
5685 header.entropy_flag = true; 5658 header.entropy_flag = true;
5686 header.packet_number = kPacketNumber; 5659 header.packet_number = kPacketNumber;
5687 header.fec_group = 0;
5688 5660
5689 QuicStopWaitingFrame stop_waiting_frame; 5661 QuicStopWaitingFrame stop_waiting_frame;
5690 stop_waiting_frame.entropy_hash = 0x14; 5662 stop_waiting_frame.entropy_hash = 0x14;
5691 stop_waiting_frame.least_unacked = kLeastUnacked; 5663 stop_waiting_frame.least_unacked = kLeastUnacked;
5692 5664
5693 QuicFrames frames; 5665 QuicFrames frames;
5694 frames.push_back(QuicFrame(&stop_waiting_frame)); 5666 frames.push_back(QuicFrame(&stop_waiting_frame));
5695 5667
5696 // clang-format off 5668 // clang-format off
5697 unsigned char packet[] = { 5669 unsigned char packet[] = {
(...skipping 30 matching lines...) Expand all
5728 if (framer_.version() <= QUIC_VERSION_33) { 5700 if (framer_.version() <= QUIC_VERSION_33) {
5729 return; 5701 return;
5730 } 5702 }
5731 QuicPacketHeader header; 5703 QuicPacketHeader header;
5732 header.public_header.connection_id = kConnectionId; 5704 header.public_header.connection_id = kConnectionId;
5733 header.public_header.reset_flag = false; 5705 header.public_header.reset_flag = false;
5734 header.public_header.version_flag = false; 5706 header.public_header.version_flag = false;
5735 header.fec_flag = false; 5707 header.fec_flag = false;
5736 header.entropy_flag = false; 5708 header.entropy_flag = false;
5737 header.packet_number = kPacketNumber; 5709 header.packet_number = kPacketNumber;
5738 header.fec_group = 0;
5739 5710
5740 QuicStopWaitingFrame stop_waiting_frame; 5711 QuicStopWaitingFrame stop_waiting_frame;
5741 stop_waiting_frame.least_unacked = kLeastUnacked; 5712 stop_waiting_frame.least_unacked = kLeastUnacked;
5742 5713
5743 QuicFrames frames; 5714 QuicFrames frames;
5744 frames.push_back(QuicFrame(&stop_waiting_frame)); 5715 frames.push_back(QuicFrame(&stop_waiting_frame));
5745 5716
5746 // clang-format off 5717 // clang-format off
5747 unsigned char packet[] = { 5718 unsigned char packet[] = {
5748 // public flags (8 byte connection_id) 5719 // public flags (8 byte connection_id)
(...skipping 21 matching lines...) Expand all
5770 } 5741 }
5771 5742
5772 TEST_P(QuicFramerTest, BuildRstFramePacketQuic) { 5743 TEST_P(QuicFramerTest, BuildRstFramePacketQuic) {
5773 QuicPacketHeader header; 5744 QuicPacketHeader header;
5774 header.public_header.connection_id = kConnectionId; 5745 header.public_header.connection_id = kConnectionId;
5775 header.public_header.reset_flag = false; 5746 header.public_header.reset_flag = false;
5776 header.public_header.version_flag = false; 5747 header.public_header.version_flag = false;
5777 header.fec_flag = false; 5748 header.fec_flag = false;
5778 header.entropy_flag = false; 5749 header.entropy_flag = false;
5779 header.packet_number = kPacketNumber; 5750 header.packet_number = kPacketNumber;
5780 header.fec_group = 0;
5781 5751
5782 QuicRstStreamFrame rst_frame; 5752 QuicRstStreamFrame rst_frame;
5783 rst_frame.stream_id = kStreamId; 5753 rst_frame.stream_id = kStreamId;
5784 rst_frame.error_code = static_cast<QuicRstStreamErrorCode>(0x05060708); 5754 rst_frame.error_code = static_cast<QuicRstStreamErrorCode>(0x05060708);
5785 rst_frame.byte_offset = 0x0807060504030201; 5755 rst_frame.byte_offset = 0x0807060504030201;
5786 5756
5787 // clang-format off 5757 // clang-format off
5788 unsigned char packet[] = { 5758 unsigned char packet[] = {
5789 // public flags (8 byte connection_id) 5759 // public flags (8 byte connection_id)
5790 static_cast<unsigned char>( 5760 static_cast<unsigned char>(
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
5844 } 5814 }
5845 5815
5846 TEST_P(QuicFramerTest, BuildCloseFramePacket) { 5816 TEST_P(QuicFramerTest, BuildCloseFramePacket) {
5847 QuicPacketHeader header; 5817 QuicPacketHeader header;
5848 header.public_header.connection_id = kConnectionId; 5818 header.public_header.connection_id = kConnectionId;
5849 header.public_header.reset_flag = false; 5819 header.public_header.reset_flag = false;
5850 header.public_header.version_flag = false; 5820 header.public_header.version_flag = false;
5851 header.fec_flag = false; 5821 header.fec_flag = false;
5852 header.entropy_flag = true; 5822 header.entropy_flag = true;
5853 header.packet_number = kPacketNumber; 5823 header.packet_number = kPacketNumber;
5854 header.fec_group = 0;
5855 5824
5856 QuicConnectionCloseFrame close_frame; 5825 QuicConnectionCloseFrame close_frame;
5857 close_frame.error_code = static_cast<QuicErrorCode>(0x05060708); 5826 close_frame.error_code = static_cast<QuicErrorCode>(0x05060708);
5858 close_frame.error_details = "because I can"; 5827 close_frame.error_details = "because I can";
5859 5828
5860 QuicFrames frames; 5829 QuicFrames frames;
5861 frames.push_back(QuicFrame(&close_frame)); 5830 frames.push_back(QuicFrame(&close_frame));
5862 5831
5863 // clang-format off 5832 // clang-format off
5864 unsigned char packet[] = { 5833 unsigned char packet[] = {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
5922 } 5891 }
5923 5892
5924 TEST_P(QuicFramerTest, BuildGoAwayPacket) { 5893 TEST_P(QuicFramerTest, BuildGoAwayPacket) {
5925 QuicPacketHeader header; 5894 QuicPacketHeader header;
5926 header.public_header.connection_id = kConnectionId; 5895 header.public_header.connection_id = kConnectionId;
5927 header.public_header.reset_flag = false; 5896 header.public_header.reset_flag = false;
5928 header.public_header.version_flag = false; 5897 header.public_header.version_flag = false;
5929 header.fec_flag = false; 5898 header.fec_flag = false;
5930 header.entropy_flag = true; 5899 header.entropy_flag = true;
5931 header.packet_number = kPacketNumber; 5900 header.packet_number = kPacketNumber;
5932 header.fec_group = 0;
5933 5901
5934 QuicGoAwayFrame goaway_frame; 5902 QuicGoAwayFrame goaway_frame;
5935 goaway_frame.error_code = static_cast<QuicErrorCode>(0x05060708); 5903 goaway_frame.error_code = static_cast<QuicErrorCode>(0x05060708);
5936 goaway_frame.last_good_stream_id = kStreamId; 5904 goaway_frame.last_good_stream_id = kStreamId;
5937 goaway_frame.reason_phrase = "because I can"; 5905 goaway_frame.reason_phrase = "because I can";
5938 5906
5939 QuicFrames frames; 5907 QuicFrames frames;
5940 frames.push_back(QuicFrame(&goaway_frame)); 5908 frames.push_back(QuicFrame(&goaway_frame));
5941 5909
5942 // clang-format off 5910 // clang-format off
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
6004 } 5972 }
6005 5973
6006 TEST_P(QuicFramerTest, BuildWindowUpdatePacket) { 5974 TEST_P(QuicFramerTest, BuildWindowUpdatePacket) {
6007 QuicPacketHeader header; 5975 QuicPacketHeader header;
6008 header.public_header.connection_id = kConnectionId; 5976 header.public_header.connection_id = kConnectionId;
6009 header.public_header.reset_flag = false; 5977 header.public_header.reset_flag = false;
6010 header.public_header.version_flag = false; 5978 header.public_header.version_flag = false;
6011 header.fec_flag = false; 5979 header.fec_flag = false;
6012 header.entropy_flag = true; 5980 header.entropy_flag = true;
6013 header.packet_number = kPacketNumber; 5981 header.packet_number = kPacketNumber;
6014 header.fec_group = 0;
6015 5982
6016 QuicWindowUpdateFrame window_update_frame; 5983 QuicWindowUpdateFrame window_update_frame;
6017 window_update_frame.stream_id = kStreamId; 5984 window_update_frame.stream_id = kStreamId;
6018 window_update_frame.byte_offset = 0x1122334455667788; 5985 window_update_frame.byte_offset = 0x1122334455667788;
6019 5986
6020 QuicFrames frames; 5987 QuicFrames frames;
6021 frames.push_back(QuicFrame(&window_update_frame)); 5988 frames.push_back(QuicFrame(&window_update_frame));
6022 5989
6023 // clang-format off 5990 // clang-format off
6024 unsigned char packet[] = { 5991 unsigned char packet[] = {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
6073 } 6040 }
6074 6041
6075 TEST_P(QuicFramerTest, BuildBlockedPacket) { 6042 TEST_P(QuicFramerTest, BuildBlockedPacket) {
6076 QuicPacketHeader header; 6043 QuicPacketHeader header;
6077 header.public_header.connection_id = kConnectionId; 6044 header.public_header.connection_id = kConnectionId;
6078 header.public_header.reset_flag = false; 6045 header.public_header.reset_flag = false;
6079 header.public_header.version_flag = false; 6046 header.public_header.version_flag = false;
6080 header.fec_flag = false; 6047 header.fec_flag = false;
6081 header.entropy_flag = true; 6048 header.entropy_flag = true;
6082 header.packet_number = kPacketNumber; 6049 header.packet_number = kPacketNumber;
6083 header.fec_group = 0;
6084 6050
6085 QuicBlockedFrame blocked_frame; 6051 QuicBlockedFrame blocked_frame;
6086 blocked_frame.stream_id = kStreamId; 6052 blocked_frame.stream_id = kStreamId;
6087 6053
6088 QuicFrames frames; 6054 QuicFrames frames;
6089 frames.push_back(QuicFrame(&blocked_frame)); 6055 frames.push_back(QuicFrame(&blocked_frame));
6090 6056
6091 // clang-format off 6057 // clang-format off
6092 unsigned char packet[] = { 6058 unsigned char packet[] = {
6093 // public flags (8 byte connection_id) 6059 // public flags (8 byte connection_id)
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
6135 } 6101 }
6136 6102
6137 TEST_P(QuicFramerTest, BuildPingPacket) { 6103 TEST_P(QuicFramerTest, BuildPingPacket) {
6138 QuicPacketHeader header; 6104 QuicPacketHeader header;
6139 header.public_header.connection_id = kConnectionId; 6105 header.public_header.connection_id = kConnectionId;
6140 header.public_header.reset_flag = false; 6106 header.public_header.reset_flag = false;
6141 header.public_header.version_flag = false; 6107 header.public_header.version_flag = false;
6142 header.fec_flag = false; 6108 header.fec_flag = false;
6143 header.entropy_flag = true; 6109 header.entropy_flag = true;
6144 header.packet_number = kPacketNumber; 6110 header.packet_number = kPacketNumber;
6145 header.fec_group = 0;
6146 6111
6147 QuicPingFrame ping_frame; 6112 QuicPingFrame ping_frame;
6148 6113
6149 QuicFrames frames; 6114 QuicFrames frames;
6150 frames.push_back(QuicFrame(ping_frame)); 6115 frames.push_back(QuicFrame(ping_frame));
6151 6116
6152 // clang-format off 6117 // clang-format off
6153 unsigned char packet[] = { 6118 unsigned char packet[] = {
6154 // public flags (8 byte connection_id) 6119 // public flags (8 byte connection_id)
6155 static_cast<unsigned char>( 6120 static_cast<unsigned char>(
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
6195 TEST_P(QuicFramerTest, BuildPathClosePacket) { 6160 TEST_P(QuicFramerTest, BuildPathClosePacket) {
6196 QuicPacketHeader header; 6161 QuicPacketHeader header;
6197 header.public_header.connection_id = kConnectionId; 6162 header.public_header.connection_id = kConnectionId;
6198 header.public_header.multipath_flag = true; 6163 header.public_header.multipath_flag = true;
6199 header.public_header.reset_flag = false; 6164 header.public_header.reset_flag = false;
6200 header.public_header.version_flag = false; 6165 header.public_header.version_flag = false;
6201 header.fec_flag = false; 6166 header.fec_flag = false;
6202 header.entropy_flag = true; 6167 header.entropy_flag = true;
6203 header.path_id = kDefaultPathId; 6168 header.path_id = kDefaultPathId;
6204 header.packet_number = kPacketNumber; 6169 header.packet_number = kPacketNumber;
6205 header.fec_group = 0;
6206 6170
6207 QuicPathCloseFrame path_close; 6171 QuicPathCloseFrame path_close;
6208 path_close.path_id = kPathId; 6172 path_close.path_id = kPathId;
6209 QuicFrames frames; 6173 QuicFrames frames;
6210 frames.push_back(QuicFrame(&path_close)); 6174 frames.push_back(QuicFrame(&path_close));
6211 6175
6212 // clang-format off 6176 // clang-format off
6213 unsigned char packet[] = { 6177 unsigned char packet[] = {
6214 // public flags (version) 6178 // public flags (version)
6215 static_cast<unsigned char>( 6179 static_cast<unsigned char>(
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
6258 6222
6259 // Test that the MTU discovery packet is serialized correctly as a PING packet. 6223 // Test that the MTU discovery packet is serialized correctly as a PING packet.
6260 TEST_P(QuicFramerTest, BuildMtuDiscoveryPacket) { 6224 TEST_P(QuicFramerTest, BuildMtuDiscoveryPacket) {
6261 QuicPacketHeader header; 6225 QuicPacketHeader header;
6262 header.public_header.connection_id = kConnectionId; 6226 header.public_header.connection_id = kConnectionId;
6263 header.public_header.reset_flag = false; 6227 header.public_header.reset_flag = false;
6264 header.public_header.version_flag = false; 6228 header.public_header.version_flag = false;
6265 header.fec_flag = false; 6229 header.fec_flag = false;
6266 header.entropy_flag = true; 6230 header.entropy_flag = true;
6267 header.packet_number = kPacketNumber; 6231 header.packet_number = kPacketNumber;
6268 header.fec_group = 0;
6269 6232
6270 QuicMtuDiscoveryFrame mtu_discovery_frame; 6233 QuicMtuDiscoveryFrame mtu_discovery_frame;
6271 6234
6272 QuicFrames frames; 6235 QuicFrames frames;
6273 frames.push_back(QuicFrame(mtu_discovery_frame)); 6236 frames.push_back(QuicFrame(mtu_discovery_frame));
6274 6237
6275 // clang-format off 6238 // clang-format off
6276 unsigned char packet[] = { 6239 unsigned char packet[] = {
6277 // public flags (8 byte connection_id) 6240 // public flags (8 byte connection_id)
6278 static_cast<unsigned char>( 6241 static_cast<unsigned char>(
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
6695 } 6658 }
6696 6659
6697 TEST_P(QuicFramerTest, AckTruncationLargePacket) { 6660 TEST_P(QuicFramerTest, AckTruncationLargePacket) {
6698 QuicPacketHeader header; 6661 QuicPacketHeader header;
6699 header.public_header.connection_id = kConnectionId; 6662 header.public_header.connection_id = kConnectionId;
6700 header.public_header.reset_flag = false; 6663 header.public_header.reset_flag = false;
6701 header.public_header.version_flag = false; 6664 header.public_header.version_flag = false;
6702 header.fec_flag = false; 6665 header.fec_flag = false;
6703 header.entropy_flag = false; 6666 header.entropy_flag = false;
6704 header.packet_number = kPacketNumber; 6667 header.packet_number = kPacketNumber;
6705 header.fec_group = 0;
6706 6668
6707 QuicAckFrame ack_frame; 6669 QuicAckFrame ack_frame;
6708 // Create a packet with just the ack. 6670 // Create a packet with just the ack.
6709 if (framer_.version() <= QUIC_VERSION_33) { 6671 if (framer_.version() <= QUIC_VERSION_33) {
6710 ack_frame = MakeAckFrameWithNackRanges(300, 0u); 6672 ack_frame = MakeAckFrameWithNackRanges(300, 0u);
6711 } else { 6673 } else {
6712 ack_frame = MakeAckFrameWithAckBlocks(300, 0u); 6674 ack_frame = MakeAckFrameWithAckBlocks(300, 0u);
6713 } 6675 }
6714 QuicFrame frame; 6676 QuicFrame frame;
6715 frame.type = ACK_FRAME; 6677 frame.type = ACK_FRAME;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
6748 } 6710 }
6749 6711
6750 TEST_P(QuicFramerTest, AckTruncationSmallPacket) { 6712 TEST_P(QuicFramerTest, AckTruncationSmallPacket) {
6751 QuicPacketHeader header; 6713 QuicPacketHeader header;
6752 header.public_header.connection_id = kConnectionId; 6714 header.public_header.connection_id = kConnectionId;
6753 header.public_header.reset_flag = false; 6715 header.public_header.reset_flag = false;
6754 header.public_header.version_flag = false; 6716 header.public_header.version_flag = false;
6755 header.fec_flag = false; 6717 header.fec_flag = false;
6756 header.entropy_flag = false; 6718 header.entropy_flag = false;
6757 header.packet_number = kPacketNumber; 6719 header.packet_number = kPacketNumber;
6758 header.fec_group = 0;
6759 6720
6760 // Create a packet with just the ack. 6721 // Create a packet with just the ack.
6761 QuicAckFrame ack_frame; 6722 QuicAckFrame ack_frame;
6762 if (framer_.version() <= QUIC_VERSION_33) { 6723 if (framer_.version() <= QUIC_VERSION_33) {
6763 ack_frame = MakeAckFrameWithNackRanges(300, 0u); 6724 ack_frame = MakeAckFrameWithNackRanges(300, 0u);
6764 } else { 6725 } else {
6765 ack_frame = MakeAckFrameWithAckBlocks(300, 0u); 6726 ack_frame = MakeAckFrameWithAckBlocks(300, 0u);
6766 } 6727 }
6767 QuicFrame frame; 6728 QuicFrame frame;
6768 frame.type = ACK_FRAME; 6729 frame.type = ACK_FRAME;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
6802 } 6763 }
6803 6764
6804 TEST_P(QuicFramerTest, CleanTruncation) { 6765 TEST_P(QuicFramerTest, CleanTruncation) {
6805 QuicPacketHeader header; 6766 QuicPacketHeader header;
6806 header.public_header.connection_id = kConnectionId; 6767 header.public_header.connection_id = kConnectionId;
6807 header.public_header.reset_flag = false; 6768 header.public_header.reset_flag = false;
6808 header.public_header.version_flag = false; 6769 header.public_header.version_flag = false;
6809 header.fec_flag = false; 6770 header.fec_flag = false;
6810 header.entropy_flag = true; 6771 header.entropy_flag = true;
6811 header.packet_number = kPacketNumber; 6772 header.packet_number = kPacketNumber;
6812 header.fec_group = 0;
6813 6773
6814 QuicAckFrame ack_frame; 6774 QuicAckFrame ack_frame;
6815 ack_frame.largest_observed = 201; 6775 ack_frame.largest_observed = 201;
6816 ack_frame.packets.Add(1, ack_frame.largest_observed); 6776 ack_frame.packets.Add(1, ack_frame.largest_observed);
6817 6777
6818 // Create a packet with just the ack. 6778 // Create a packet with just the ack.
6819 QuicFrame frame; 6779 QuicFrame frame;
6820 frame.type = ACK_FRAME; 6780 frame.type = ACK_FRAME;
6821 frame.ack_frame = &ack_frame; 6781 frame.ack_frame = &ack_frame;
6822 QuicFrames frames; 6782 QuicFrames frames;
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
7144 'o', ' ', 'w', 'o', 7104 'o', ' ', 'w', 'o',
7145 'r', 'l', 'd', '!', 7105 'r', 'l', 'd', '!',
7146 }; 7106 };
7147 // clang-format on 7107 // clang-format on
7148 7108
7149 QuicFramerFuzzFunc(packet, arraysize(packet)); 7109 QuicFramerFuzzFunc(packet, arraysize(packet));
7150 } 7110 }
7151 7111
7152 } // namespace test 7112 } // namespace test
7153 } // namespace net 7113 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_framer.cc ('k') | net/quic/quic_packet_creator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698