| 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 "base/stl_util.h" | 7 #include "base/stl_util.h" |
| 8 #include "net/quic/crypto/null_encrypter.h" | 8 #include "net/quic/crypto/null_encrypter.h" |
| 9 #include "net/quic/crypto/quic_decrypter.h" | 9 #include "net/quic/crypto/quic_decrypter.h" |
| 10 #include "net/quic/crypto/quic_encrypter.h" | 10 #include "net/quic/crypto/quic_encrypter.h" |
| (...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 531 TEST_P(QuicPacketCreatorTest, SwitchFecOnWithStreamFrameQueued) { | 531 TEST_P(QuicPacketCreatorTest, SwitchFecOnWithStreamFrameQueued) { |
| 532 // Add a stream frame to the creator. | 532 // Add a stream frame to the creator. |
| 533 QuicFrame frame; | 533 QuicFrame frame; |
| 534 size_t consumed = creator_.CreateStreamFrame( | 534 size_t consumed = creator_.CreateStreamFrame( |
| 535 1u, MakeIOVector("test"), 0u, false, &frame); | 535 1u, MakeIOVector("test"), 0u, false, &frame); |
| 536 EXPECT_EQ(4u, consumed); | 536 EXPECT_EQ(4u, consumed); |
| 537 ASSERT_TRUE(frame.stream_frame); | 537 ASSERT_TRUE(frame.stream_frame); |
| 538 EXPECT_TRUE(creator_.AddSavedFrame(frame)); | 538 EXPECT_TRUE(creator_.AddSavedFrame(frame)); |
| 539 EXPECT_TRUE(creator_.HasPendingFrames()); | 539 EXPECT_TRUE(creator_.HasPendingFrames()); |
| 540 | 540 |
| 541 // Enable FEC protection, and send FEC packet every 6 packets. | 541 // Enable FEC protection, and send FEC packet every 6 packets. |
| 542 creator_.set_max_packets_per_fec_group(6); | 542 creator_.set_max_packets_per_fec_group(6); |
| 543 EXPECT_TRUE(creator_.IsFecEnabled()); | 543 EXPECT_TRUE(creator_.IsFecEnabled()); |
| 544 EXPECT_DFATAL(creator_.StartFecProtectingPackets(), | 544 EXPECT_DFATAL(creator_.StartFecProtectingPackets(), |
| 545 "Cannot start FEC protection with pending frames."); | 545 "Cannot start FEC protection with pending frames."); |
| 546 EXPECT_FALSE(creator_.IsFecProtected()); | 546 EXPECT_FALSE(creator_.IsFecProtected()); |
| 547 | 547 |
| 548 // Serialize packet for transmission. | 548 // Serialize packet for transmission. |
| 549 SerializedPacket serialized = creator_.SerializePacket(); | 549 SerializedPacket serialized = creator_.SerializePacket(); |
| 550 delete serialized.packet; | 550 delete serialized.packet; |
| 551 delete serialized.retransmittable_frames; | 551 delete serialized.retransmittable_frames; |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 741 EXPECT_CALL(framer_visitor_, OnVersionNegotiationPacket(_)); | 741 EXPECT_CALL(framer_visitor_, OnVersionNegotiationPacket(_)); |
| 742 } | 742 } |
| 743 QuicFramerPeer::SetIsServer(&client_framer_, false); | 743 QuicFramerPeer::SetIsServer(&client_framer_, false); |
| 744 client_framer_.ProcessPacket(*encrypted); | 744 client_framer_.ProcessPacket(*encrypted); |
| 745 } | 745 } |
| 746 | 746 |
| 747 TEST_P(QuicPacketCreatorTest, UpdatePacketSequenceNumberLengthLeastAwaiting) { | 747 TEST_P(QuicPacketCreatorTest, UpdatePacketSequenceNumberLengthLeastAwaiting) { |
| 748 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, | 748 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, |
| 749 creator_.next_sequence_number_length()); | 749 creator_.next_sequence_number_length()); |
| 750 | 750 |
| 751 creator_.set_sequence_number(64); | 751 creator_.set_max_packets_per_fec_group(1); |
| 752 creator_.set_sequence_number(63); |
| 752 creator_.UpdateSequenceNumberLength(2, 10000); | 753 creator_.UpdateSequenceNumberLength(2, 10000); |
| 753 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, | 754 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, |
| 754 creator_.next_sequence_number_length()); | 755 creator_.next_sequence_number_length()); |
| 755 | 756 |
| 756 creator_.set_sequence_number(64 * 256); | 757 creator_.set_sequence_number(64 * 256 - 1); |
| 757 creator_.UpdateSequenceNumberLength(2, 10000); | 758 creator_.UpdateSequenceNumberLength(2, 10000); |
| 758 EXPECT_EQ(PACKET_2BYTE_SEQUENCE_NUMBER, | 759 EXPECT_EQ(PACKET_2BYTE_SEQUENCE_NUMBER, |
| 759 creator_.next_sequence_number_length()); | 760 creator_.next_sequence_number_length()); |
| 760 | 761 |
| 761 creator_.set_sequence_number(64 * 256 * 256); | 762 creator_.set_sequence_number(64 * 256 * 256 - 1); |
| 762 creator_.UpdateSequenceNumberLength(2, 10000); | 763 creator_.UpdateSequenceNumberLength(2, 10000); |
| 763 EXPECT_EQ(PACKET_4BYTE_SEQUENCE_NUMBER, | 764 EXPECT_EQ(PACKET_4BYTE_SEQUENCE_NUMBER, |
| 764 creator_.next_sequence_number_length()); | 765 creator_.next_sequence_number_length()); |
| 765 | 766 |
| 766 creator_.set_sequence_number(GG_UINT64_C(64) * 256 * 256 * 256 * 256); | 767 creator_.set_sequence_number(GG_UINT64_C(64) * 256 * 256 * 256 * 256 - 1); |
| 767 creator_.UpdateSequenceNumberLength(2, 10000); | 768 creator_.UpdateSequenceNumberLength(2, 10000); |
| 768 EXPECT_EQ(PACKET_6BYTE_SEQUENCE_NUMBER, | 769 EXPECT_EQ(PACKET_6BYTE_SEQUENCE_NUMBER, |
| 769 creator_.next_sequence_number_length()); | 770 creator_.next_sequence_number_length()); |
| 770 } | 771 } |
| 771 | 772 |
| 772 TEST_P(QuicPacketCreatorTest, UpdatePacketSequenceNumberLengthBandwidth) { | 773 TEST_P(QuicPacketCreatorTest, UpdatePacketSequenceNumberLengthBandwidth) { |
| 773 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, | 774 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, |
| 774 creator_.next_sequence_number_length()); | 775 creator_.next_sequence_number_length()); |
| 775 | 776 |
| 776 creator_.UpdateSequenceNumberLength(1, 10000); | 777 creator_.UpdateSequenceNumberLength(1, 10000); |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1012 // After 64 calls, BoolSource will refresh the bucket - make sure it does. | 1013 // After 64 calls, BoolSource will refresh the bucket - make sure it does. |
| 1013 mock_random_.ChangeValue(); | 1014 mock_random_.ChangeValue(); |
| 1014 } | 1015 } |
| 1015 | 1016 |
| 1016 delete frames_[0].stream_frame; | 1017 delete frames_[0].stream_frame; |
| 1017 } | 1018 } |
| 1018 | 1019 |
| 1019 } // namespace | 1020 } // namespace |
| 1020 } // namespace test | 1021 } // namespace test |
| 1021 } // namespace net | 1022 } // namespace net |
| OLD | NEW |