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 "net/quic/quic_packet_creator.h" | 5 #include "net/quic/quic_packet_creator.h" |
6 | 6 |
7 #include <cstdint> | 7 #include <cstdint> |
8 #include <memory> | 8 #include <memory> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 TEST_P(QuicPacketCreatorTest, ReserializeCryptoFrameWithForwardSecurity) { | 446 TEST_P(QuicPacketCreatorTest, ReserializeCryptoFrameWithForwardSecurity) { |
447 QuicStreamFrame* stream_frame = | 447 QuicStreamFrame* stream_frame = |
448 new QuicStreamFrame(kCryptoStreamId, /*fin=*/false, 0u, StringPiece()); | 448 new QuicStreamFrame(kCryptoStreamId, /*fin=*/false, 0u, StringPiece()); |
449 QuicFrames frames; | 449 QuicFrames frames; |
450 frames.push_back(QuicFrame(stream_frame)); | 450 frames.push_back(QuicFrame(stream_frame)); |
451 creator_.set_encryption_level(ENCRYPTION_FORWARD_SECURE); | 451 creator_.set_encryption_level(ENCRYPTION_FORWARD_SECURE); |
452 char buffer[kMaxPacketSize]; | 452 char buffer[kMaxPacketSize]; |
453 PendingRetransmission retransmission(CreateRetransmission( | 453 PendingRetransmission retransmission(CreateRetransmission( |
454 frames, true /* has_crypto_handshake */, -1 /* needs full padding */, | 454 frames, true /* has_crypto_handshake */, -1 /* needs full padding */, |
455 ENCRYPTION_NONE, | 455 ENCRYPTION_NONE, |
456 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_))); | 456 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_))); |
457 EXPECT_CALL(delegate_, OnSerializedPacket(_)) | 457 EXPECT_CALL(delegate_, OnSerializedPacket(_)) |
458 .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket)); | 458 .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket)); |
459 creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize); | 459 creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize); |
460 EXPECT_EQ(ENCRYPTION_NONE, serialized_packet_.encryption_level); | 460 EXPECT_EQ(ENCRYPTION_NONE, serialized_packet_.encryption_level); |
461 delete stream_frame; | 461 delete stream_frame; |
462 } | 462 } |
463 | 463 |
464 TEST_P(QuicPacketCreatorTest, ReserializeFrameWithForwardSecurity) { | 464 TEST_P(QuicPacketCreatorTest, ReserializeFrameWithForwardSecurity) { |
465 QuicStreamFrame* stream_frame = | 465 QuicStreamFrame* stream_frame = |
466 new QuicStreamFrame(0u, /*fin=*/false, 0u, StringPiece()); | 466 new QuicStreamFrame(0u, /*fin=*/false, 0u, StringPiece()); |
467 QuicFrames frames; | 467 QuicFrames frames; |
468 frames.push_back(QuicFrame(stream_frame)); | 468 frames.push_back(QuicFrame(stream_frame)); |
469 creator_.set_encryption_level(ENCRYPTION_FORWARD_SECURE); | 469 creator_.set_encryption_level(ENCRYPTION_FORWARD_SECURE); |
470 char buffer[kMaxPacketSize]; | 470 char buffer[kMaxPacketSize]; |
471 PendingRetransmission retransmission(CreateRetransmission( | 471 PendingRetransmission retransmission(CreateRetransmission( |
472 frames, false /* has_crypto_handshake */, 0 /* no padding */, | 472 frames, false /* has_crypto_handshake */, 0 /* no padding */, |
473 ENCRYPTION_NONE, | 473 ENCRYPTION_NONE, |
474 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_))); | 474 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_))); |
475 EXPECT_CALL(delegate_, OnSerializedPacket(_)) | 475 EXPECT_CALL(delegate_, OnSerializedPacket(_)) |
476 .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket)); | 476 .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket)); |
477 creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize); | 477 creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize); |
478 EXPECT_EQ(ENCRYPTION_FORWARD_SECURE, serialized_packet_.encryption_level); | 478 EXPECT_EQ(ENCRYPTION_FORWARD_SECURE, serialized_packet_.encryption_level); |
479 delete stream_frame; | 479 delete stream_frame; |
480 } | 480 } |
481 | 481 |
482 TEST_P(QuicPacketCreatorTest, ReserializeFramesWithFullPadding) { | 482 TEST_P(QuicPacketCreatorTest, ReserializeFramesWithFullPadding) { |
483 QuicFrame frame; | 483 QuicFrame frame; |
484 QuicIOVector io_vector(MakeIOVector("fake handshake message data")); | 484 QuicIOVector io_vector(MakeIOVector("fake handshake message data")); |
485 QuicPacketCreatorPeer::CreateStreamFrame(&creator_, kCryptoStreamId, | 485 QuicPacketCreatorPeer::CreateStreamFrame(&creator_, kCryptoStreamId, |
486 io_vector, 0u, 0u, false, &frame); | 486 io_vector, 0u, 0u, false, &frame); |
487 QuicFrames frames; | 487 QuicFrames frames; |
488 frames.push_back(frame); | 488 frames.push_back(frame); |
489 char buffer[kMaxPacketSize]; | 489 char buffer[kMaxPacketSize]; |
490 PendingRetransmission retransmission(CreateRetransmission( | 490 PendingRetransmission retransmission(CreateRetransmission( |
491 frames, true /* has_crypto_handshake */, -1 /* needs full padding */, | 491 frames, true /* has_crypto_handshake */, -1 /* needs full padding */, |
492 ENCRYPTION_NONE, | 492 ENCRYPTION_NONE, |
493 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_))); | 493 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_))); |
494 EXPECT_CALL(delegate_, OnSerializedPacket(_)) | 494 EXPECT_CALL(delegate_, OnSerializedPacket(_)) |
495 .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket)); | 495 .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket)); |
496 creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize); | 496 creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize); |
497 EXPECT_EQ(kDefaultMaxPacketSize, serialized_packet_.encrypted_length); | 497 EXPECT_EQ(kDefaultMaxPacketSize, serialized_packet_.encrypted_length); |
498 delete frame.stream_frame; | 498 delete frame.stream_frame; |
499 } | 499 } |
500 | 500 |
501 TEST_P(QuicPacketCreatorTest, ReserializeFramesWithSpecifiedPadding) { | 501 TEST_P(QuicPacketCreatorTest, ReserializeFramesWithSpecifiedPadding) { |
502 QuicFrame frame; | 502 QuicFrame frame; |
503 QuicIOVector io_vector(MakeIOVector("fake message data")); | 503 QuicIOVector io_vector(MakeIOVector("fake message data")); |
(...skipping 16 matching lines...) Expand all Loading... |
520 packet_size = serialized_packet_.encrypted_length; | 520 packet_size = serialized_packet_.encrypted_length; |
521 } | 521 } |
522 | 522 |
523 const int kNumPaddingBytes2 = 44; | 523 const int kNumPaddingBytes2 = 44; |
524 QuicFrames frames; | 524 QuicFrames frames; |
525 frames.push_back(frame); | 525 frames.push_back(frame); |
526 char buffer[kMaxPacketSize]; | 526 char buffer[kMaxPacketSize]; |
527 PendingRetransmission retransmission(CreateRetransmission( | 527 PendingRetransmission retransmission(CreateRetransmission( |
528 frames, false /* has_crypto_handshake */, | 528 frames, false /* has_crypto_handshake */, |
529 kNumPaddingBytes2 /* padding bytes */, ENCRYPTION_NONE, | 529 kNumPaddingBytes2 /* padding bytes */, ENCRYPTION_NONE, |
530 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_))); | 530 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_))); |
531 EXPECT_CALL(delegate_, OnSerializedPacket(_)) | 531 EXPECT_CALL(delegate_, OnSerializedPacket(_)) |
532 .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket)); | 532 .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket)); |
533 creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize); | 533 creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize); |
534 | 534 |
535 EXPECT_EQ(packet_size + kNumPaddingBytes2 - kNumPaddingBytes1, | 535 EXPECT_EQ(packet_size + kNumPaddingBytes2 - kNumPaddingBytes1, |
536 serialized_packet_.encrypted_length); | 536 serialized_packet_.encrypted_length); |
537 delete frame.stream_frame; | 537 delete frame.stream_frame; |
538 } | 538 } |
539 | 539 |
540 TEST_P(QuicPacketCreatorTest, ReserializeFramesWithFullPacketAndPadding) { | 540 TEST_P(QuicPacketCreatorTest, ReserializeFramesWithFullPacketAndPadding) { |
541 const size_t overhead = GetPacketHeaderOverhead(client_framer_.version()) + | 541 const size_t overhead = GetPacketHeaderOverhead(client_framer_.version()) + |
542 GetEncryptionOverhead() + GetStreamFrameOverhead(); | 542 GetEncryptionOverhead() + GetStreamFrameOverhead(); |
543 size_t capacity = kDefaultMaxPacketSize - overhead; | 543 size_t capacity = kDefaultMaxPacketSize - overhead; |
544 for (int delta = -5; delta <= 0; ++delta) { | 544 for (int delta = -5; delta <= 0; ++delta) { |
545 string data(capacity + delta, 'A'); | 545 string data(capacity + delta, 'A'); |
546 size_t bytes_free = 0 - delta; | 546 size_t bytes_free = 0 - delta; |
547 | 547 |
548 QuicFrame frame; | 548 QuicFrame frame; |
549 QuicIOVector io_vector(MakeIOVector(data)); | 549 QuicIOVector io_vector(MakeIOVector(data)); |
550 UniqueStreamBuffer stream_buffer; | 550 UniqueStreamBuffer stream_buffer; |
551 QuicPacketCreatorPeer::CreateStreamFrame( | 551 QuicPacketCreatorPeer::CreateStreamFrame( |
552 &creator_, kCryptoStreamId, io_vector, 0, kOffset, false, &frame); | 552 &creator_, kCryptoStreamId, io_vector, 0, kOffset, false, &frame); |
553 QuicFrames frames; | 553 QuicFrames frames; |
554 frames.push_back(frame); | 554 frames.push_back(frame); |
555 char buffer[kMaxPacketSize]; | 555 char buffer[kMaxPacketSize]; |
556 PendingRetransmission retransmission(CreateRetransmission( | 556 PendingRetransmission retransmission(CreateRetransmission( |
557 frames, true /* has_crypto_handshake */, -1 /* needs full padding */, | 557 frames, true /* has_crypto_handshake */, -1 /* needs full padding */, |
558 ENCRYPTION_NONE, | 558 ENCRYPTION_NONE, |
559 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_))); | 559 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_))); |
560 EXPECT_CALL(delegate_, OnSerializedPacket(_)) | 560 EXPECT_CALL(delegate_, OnSerializedPacket(_)) |
561 .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket)); | 561 .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket)); |
562 creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize); | 562 creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize); |
563 | 563 |
564 // If there is not enough space in the packet to fit a padding frame | 564 // If there is not enough space in the packet to fit a padding frame |
565 // (1 byte) and to expand the stream frame (another 2 bytes) the packet | 565 // (1 byte) and to expand the stream frame (another 2 bytes) the packet |
566 // will not be padded. | 566 // will not be padded. |
567 if (bytes_free < 3) { | 567 if (bytes_free < 3) { |
568 EXPECT_EQ(kDefaultMaxPacketSize - bytes_free, | 568 EXPECT_EQ(kDefaultMaxPacketSize - bytes_free, |
569 serialized_packet_.encrypted_length); | 569 serialized_packet_.encrypted_length); |
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1068 } | 1068 } |
1069 | 1069 |
1070 delete frames_[0].stream_frame; | 1070 delete frames_[0].stream_frame; |
1071 } | 1071 } |
1072 | 1072 |
1073 TEST_P(QuicPacketCreatorTest, SetCurrentPath) { | 1073 TEST_P(QuicPacketCreatorTest, SetCurrentPath) { |
1074 // Current path is the default path. | 1074 // Current path is the default path. |
1075 EXPECT_EQ(kDefaultPathId, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); | 1075 EXPECT_EQ(kDefaultPathId, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); |
1076 EXPECT_EQ(0u, creator_.packet_number()); | 1076 EXPECT_EQ(0u, creator_.packet_number()); |
1077 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, | 1077 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, |
1078 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)); | 1078 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_)); |
1079 // Add a stream frame to the creator. | 1079 // Add a stream frame to the creator. |
1080 QuicFrame frame; | 1080 QuicFrame frame; |
1081 QuicIOVector io_vector(MakeIOVector("test")); | 1081 QuicIOVector io_vector(MakeIOVector("test")); |
1082 ASSERT_TRUE( | 1082 ASSERT_TRUE( |
1083 creator_.ConsumeData(1u, io_vector, 0u, 0u, false, false, &frame)); | 1083 creator_.ConsumeData(1u, io_vector, 0u, 0u, false, false, &frame)); |
1084 ASSERT_TRUE(frame.stream_frame); | 1084 ASSERT_TRUE(frame.stream_frame); |
1085 size_t consumed = frame.stream_frame->data_length; | 1085 size_t consumed = frame.stream_frame->data_length; |
1086 EXPECT_EQ(4u, consumed); | 1086 EXPECT_EQ(4u, consumed); |
1087 EXPECT_TRUE(creator_.HasPendingFrames()); | 1087 EXPECT_TRUE(creator_.HasPendingFrames()); |
1088 EXPECT_EQ(0u, creator_.packet_number()); | 1088 EXPECT_EQ(0u, creator_.packet_number()); |
1089 | 1089 |
1090 // Change current path. | 1090 // Change current path. |
1091 QuicPathId kPathId1 = 1; | 1091 QuicPathId kPathId1 = 1; |
1092 EXPECT_DFATAL(creator_.SetCurrentPath(kPathId1, 1, 0), | 1092 EXPECT_DFATAL(creator_.SetCurrentPath(kPathId1, 1, 0), |
1093 "Unable to change paths when a packet is under construction"); | 1093 "Unable to change paths when a packet is under construction"); |
1094 EXPECT_CALL(delegate_, OnSerializedPacket(_)) | 1094 EXPECT_CALL(delegate_, OnSerializedPacket(_)) |
1095 .Times(1) | 1095 .Times(1) |
1096 .WillRepeatedly( | 1096 .WillRepeatedly( |
1097 Invoke(this, &QuicPacketCreatorTest::ClearSerializedPacket)); | 1097 Invoke(this, &QuicPacketCreatorTest::ClearSerializedPacket)); |
1098 creator_.Flush(); | 1098 creator_.Flush(); |
1099 EXPECT_FALSE(creator_.HasPendingFrames()); | 1099 EXPECT_FALSE(creator_.HasPendingFrames()); |
1100 creator_.SetCurrentPath(kPathId1, 1, 0); | 1100 creator_.SetCurrentPath(kPathId1, 1, 0); |
1101 EXPECT_EQ(kPathId1, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); | 1101 EXPECT_EQ(kPathId1, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); |
1102 EXPECT_FALSE(creator_.HasPendingFrames()); | 1102 EXPECT_FALSE(creator_.HasPendingFrames()); |
1103 EXPECT_EQ(0u, creator_.packet_number()); | 1103 EXPECT_EQ(0u, creator_.packet_number()); |
1104 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, | 1104 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, |
1105 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)); | 1105 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_)); |
1106 | 1106 |
1107 // Change current path back. | 1107 // Change current path back. |
1108 creator_.SetCurrentPath(kDefaultPathId, 2, 1); | 1108 creator_.SetCurrentPath(kDefaultPathId, 2, 1); |
1109 EXPECT_EQ(kDefaultPathId, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); | 1109 EXPECT_EQ(kDefaultPathId, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); |
1110 EXPECT_EQ(1u, creator_.packet_number()); | 1110 EXPECT_EQ(1u, creator_.packet_number()); |
1111 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, | 1111 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, |
1112 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)); | 1112 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_)); |
1113 // Add a stream frame to the creator. | 1113 // Add a stream frame to the creator. |
1114 ASSERT_TRUE( | 1114 ASSERT_TRUE( |
1115 creator_.ConsumeData(1u, io_vector, 0u, 0u, false, false, &frame)); | 1115 creator_.ConsumeData(1u, io_vector, 0u, 0u, false, false, &frame)); |
1116 ASSERT_TRUE(frame.stream_frame); | 1116 ASSERT_TRUE(frame.stream_frame); |
1117 consumed = frame.stream_frame->data_length; | 1117 consumed = frame.stream_frame->data_length; |
1118 EXPECT_EQ(4u, consumed); | 1118 EXPECT_EQ(4u, consumed); |
1119 EXPECT_TRUE(creator_.HasPendingFrames()); | 1119 EXPECT_TRUE(creator_.HasPendingFrames()); |
1120 | 1120 |
1121 // Does not change current path. | 1121 // Does not change current path. |
1122 creator_.SetCurrentPath(kDefaultPathId, 2, 0); | 1122 creator_.SetCurrentPath(kDefaultPathId, 2, 0); |
1123 EXPECT_EQ(kDefaultPathId, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); | 1123 EXPECT_EQ(kDefaultPathId, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); |
1124 EXPECT_TRUE(creator_.HasPendingFrames()); | 1124 EXPECT_TRUE(creator_.HasPendingFrames()); |
1125 EXPECT_EQ(1u, creator_.packet_number()); | 1125 EXPECT_EQ(1u, creator_.packet_number()); |
1126 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, | 1126 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, |
1127 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)); | 1127 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_)); |
1128 } | 1128 } |
1129 | 1129 |
1130 TEST_P(QuicPacketCreatorTest, | 1130 TEST_P(QuicPacketCreatorTest, |
1131 SetCurrentPathAndUpdatePacketSequenceNumberLength) { | 1131 SetCurrentPathAndUpdatePacketSequenceNumberLength) { |
1132 // Current path is the default path. | 1132 // Current path is the default path. |
1133 EXPECT_EQ(kDefaultPathId, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); | 1133 EXPECT_EQ(kDefaultPathId, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); |
1134 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, | 1134 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, |
| 1135 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_)); |
| 1136 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, |
1135 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)); | 1137 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)); |
1136 QuicPacketCreatorPeer::SetPacketNumber(&creator_, 64 * 256 - 2); | 1138 QuicPacketCreatorPeer::SetPacketNumber(&creator_, 64 * 256 - 2); |
1137 // Add a stream frame to the creator and send the packet. | 1139 // Add a stream frame to the creator and send the packet. |
1138 QuicFrame frame; | 1140 QuicFrame frame; |
1139 QuicIOVector io_vector(MakeIOVector("test")); | 1141 QuicIOVector io_vector(MakeIOVector("test")); |
1140 ASSERT_TRUE( | 1142 ASSERT_TRUE( |
1141 creator_.ConsumeData(1u, io_vector, 0u, 0u, false, false, &frame)); | 1143 creator_.ConsumeData(1u, io_vector, 0u, 0u, false, false, &frame)); |
1142 EXPECT_CALL(delegate_, OnSerializedPacket(_)) | 1144 EXPECT_CALL(delegate_, OnSerializedPacket(_)) |
1143 .Times(1) | 1145 .Times(1) |
1144 .WillRepeatedly( | 1146 .WillRepeatedly( |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1187 EXPECT_EQ(kDefaultPathId, serialized_packet_.path_id); | 1189 EXPECT_EQ(kDefaultPathId, serialized_packet_.path_id); |
1188 DeleteSerializedPacket(); | 1190 DeleteSerializedPacket(); |
1189 | 1191 |
1190 // Change to path 1. | 1192 // Change to path 1. |
1191 QuicPathId kPathId1 = 1; | 1193 QuicPathId kPathId1 = 1; |
1192 creator_.SetCurrentPath(kPathId1, 1, 0); | 1194 creator_.SetCurrentPath(kPathId1, 1, 0); |
1193 EXPECT_EQ(kPathId1, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); | 1195 EXPECT_EQ(kPathId1, QuicPacketCreatorPeer::GetCurrentPath(&creator_)); |
1194 EXPECT_FALSE(creator_.HasPendingFrames()); | 1196 EXPECT_FALSE(creator_.HasPendingFrames()); |
1195 EXPECT_EQ(0u, creator_.packet_number()); | 1197 EXPECT_EQ(0u, creator_.packet_number()); |
1196 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, | 1198 EXPECT_EQ(PACKET_1BYTE_PACKET_NUMBER, |
1197 QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)); | 1199 QuicPacketCreatorPeer::GetPacketNumberLength(&creator_)); |
1198 | 1200 |
1199 // Add a stream frame to the creator and flush the packet. | 1201 // Add a stream frame to the creator and flush the packet. |
1200 ASSERT_TRUE( | 1202 ASSERT_TRUE( |
1201 creator_.ConsumeData(1u, io_vector, 0u, 0u, false, false, &frame)); | 1203 creator_.ConsumeData(1u, io_vector, 0u, 0u, false, false, &frame)); |
1202 ASSERT_TRUE(frame.stream_frame); | 1204 ASSERT_TRUE(frame.stream_frame); |
1203 consumed = frame.stream_frame->data_length; | 1205 consumed = frame.stream_frame->data_length; |
1204 EXPECT_EQ(4u, consumed); | 1206 EXPECT_EQ(4u, consumed); |
1205 EXPECT_TRUE(creator_.HasPendingFrames()); | 1207 EXPECT_TRUE(creator_.HasPendingFrames()); |
1206 creator_.Flush(); | 1208 creator_.Flush(); |
1207 // Verify serialized data packet's path id. | 1209 // Verify serialized data packet's path id. |
(...skipping 25 matching lines...) Expand all Loading... |
1233 EXPECT_CALL(delegate_, | 1235 EXPECT_CALL(delegate_, |
1234 OnUnrecoverableError(QUIC_CRYPTO_CHLO_TOO_LARGE, _, _)); | 1236 OnUnrecoverableError(QUIC_CRYPTO_CHLO_TOO_LARGE, _, _)); |
1235 EXPECT_DFATAL( | 1237 EXPECT_DFATAL( |
1236 creator_.ConsumeData(1u, data_iovec, 0u, 0u, false, false, &frame), | 1238 creator_.ConsumeData(1u, data_iovec, 0u, 0u, false, false, &frame), |
1237 "Client hello won't fit in a single packet."); | 1239 "Client hello won't fit in a single packet."); |
1238 } | 1240 } |
1239 | 1241 |
1240 } // namespace | 1242 } // namespace |
1241 } // namespace test | 1243 } // namespace test |
1242 } // namespace net | 1244 } // namespace net |
OLD | NEW |