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

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

Issue 1037403004: Land Recent QUIC Changes until 03/27/2015 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleanup Created 5 years, 8 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_packet_creator.cc ('k') | net/quic/quic_packet_generator.h » ('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_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 624 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 &frame); 635 &frame);
636 EXPECT_EQ(0u, consumed); 636 EXPECT_EQ(0u, consumed);
637 CheckStreamFrame(frame, 1u, string(), 0u, true); 637 CheckStreamFrame(frame, 1u, string(), 0u, true);
638 delete frame.stream_frame; 638 delete frame.stream_frame;
639 } 639 }
640 640
641 TEST_P(QuicPacketCreatorTest, CreateAllFreeBytesForStreamFrames) { 641 TEST_P(QuicPacketCreatorTest, CreateAllFreeBytesForStreamFrames) {
642 const size_t overhead = GetPacketHeaderOverhead(NOT_IN_FEC_GROUP) 642 const size_t overhead = GetPacketHeaderOverhead(NOT_IN_FEC_GROUP)
643 + GetEncryptionOverhead(); 643 + GetEncryptionOverhead();
644 for (size_t i = overhead; i < overhead + 100; ++i) { 644 for (size_t i = overhead; i < overhead + 100; ++i) {
645 creator_.set_max_packet_length(i); 645 creator_.SetMaxPacketLength(i);
646 const bool should_have_room = i > overhead + GetStreamFrameOverhead( 646 const bool should_have_room = i > overhead + GetStreamFrameOverhead(
647 NOT_IN_FEC_GROUP); 647 NOT_IN_FEC_GROUP);
648 ASSERT_EQ(should_have_room, creator_.HasRoomForStreamFrame( 648 ASSERT_EQ(should_have_room, creator_.HasRoomForStreamFrame(
649 kClientDataStreamId1, kOffset)); 649 kClientDataStreamId1, kOffset));
650 if (should_have_room) { 650 if (should_have_room) {
651 QuicFrame frame; 651 QuicFrame frame;
652 size_t bytes_consumed = creator_.CreateStreamFrame( 652 size_t bytes_consumed = creator_.CreateStreamFrame(
653 kClientDataStreamId1, MakeIOVector("testdata"), kOffset, false, 653 kClientDataStreamId1, MakeIOVector("testdata"), kOffset, false,
654 &frame); 654 &frame);
655 EXPECT_LT(0u, bytes_consumed); 655 EXPECT_LT(0u, bytes_consumed);
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
877 header.public_header.version_flag); 877 header.public_header.version_flag);
878 delete serialized.packet; 878 delete serialized.packet;
879 } 879 }
880 880
881 TEST_P(QuicPacketCreatorTest, CreateStreamFrameTooLarge) { 881 TEST_P(QuicPacketCreatorTest, CreateStreamFrameTooLarge) {
882 if (!GetParam().version_serialization) { 882 if (!GetParam().version_serialization) {
883 creator_.StopSendingVersion(); 883 creator_.StopSendingVersion();
884 } 884 }
885 // A string larger than fits into a frame. 885 // A string larger than fits into a frame.
886 size_t payload_length; 886 size_t payload_length;
887 creator_.set_max_packet_length(GetPacketLengthForOneStream( 887 creator_.SetMaxPacketLength(GetPacketLengthForOneStream(
888 client_framer_.version(), 888 client_framer_.version(),
889 QuicPacketCreatorPeer::SendVersionInPacket(&creator_), 889 QuicPacketCreatorPeer::SendVersionInPacket(&creator_),
890 creator_.connection_id_length(), 890 creator_.connection_id_length(),
891 PACKET_1BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP, &payload_length)); 891 PACKET_1BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP, &payload_length));
892 QuicFrame frame; 892 QuicFrame frame;
893 const string too_long_payload(payload_length * 2, 'a'); 893 const string too_long_payload(payload_length * 2, 'a');
894 size_t consumed = creator_.CreateStreamFrame( 894 size_t consumed = creator_.CreateStreamFrame(
895 1u, MakeIOVector(too_long_payload), 0u, true, &frame); 895 1u, MakeIOVector(too_long_payload), 0u, true, &frame);
896 EXPECT_EQ(payload_length, consumed); 896 EXPECT_EQ(payload_length, consumed);
897 const string payload(payload_length, 'a'); 897 const string payload(payload_length, 'a');
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
951 QuicPacketCreatorPeer::SendVersionInPacket(&creator_), 951 QuicPacketCreatorPeer::SendVersionInPacket(&creator_),
952 PACKET_1BYTE_SEQUENCE_NUMBER, 952 PACKET_1BYTE_SEQUENCE_NUMBER,
953 NOT_IN_FEC_GROUP), 953 NOT_IN_FEC_GROUP),
954 creator_.BytesFree()); 954 creator_.BytesFree());
955 } 955 }
956 956
957 TEST_P(QuicPacketCreatorTest, SerializeTruncatedAckFrameWithLargePacketSize) { 957 TEST_P(QuicPacketCreatorTest, SerializeTruncatedAckFrameWithLargePacketSize) {
958 if (!GetParam().version_serialization) { 958 if (!GetParam().version_serialization) {
959 creator_.StopSendingVersion(); 959 creator_.StopSendingVersion();
960 } 960 }
961 creator_.set_max_packet_length(kMaxPacketSize); 961 creator_.SetMaxPacketLength(kMaxPacketSize);
962 962
963 // Serialized length of ack frame with 2000 nack ranges should be limited by 963 // Serialized length of ack frame with 2000 nack ranges should be limited by
964 // the number of nack ranges that can be fit in an ack frame. 964 // the number of nack ranges that can be fit in an ack frame.
965 QuicAckFrame ack_frame = MakeAckFrameWithNackRanges(2000u, 0u); 965 QuicAckFrame ack_frame = MakeAckFrameWithNackRanges(2000u, 0u);
966 size_t frame_len = client_framer_.GetSerializedFrameLength( 966 size_t frame_len = client_framer_.GetSerializedFrameLength(
967 QuicFrame(&ack_frame), creator_.BytesFree(), true, true, 967 QuicFrame(&ack_frame), creator_.BytesFree(), true, true,
968 NOT_IN_FEC_GROUP, PACKET_1BYTE_SEQUENCE_NUMBER); 968 NOT_IN_FEC_GROUP, PACKET_1BYTE_SEQUENCE_NUMBER);
969 EXPECT_GT(creator_.BytesFree(), frame_len); 969 EXPECT_GT(creator_.BytesFree(), frame_len);
970 EXPECT_GT(creator_.max_packet_length(), creator_.PacketSize()); 970 EXPECT_GT(creator_.max_packet_length(), creator_.PacketSize());
971 971
(...skipping 22 matching lines...) Expand all
994 EXPECT_EQ(est_packet_size, 994 EXPECT_EQ(est_packet_size,
995 client_framer_.GetMaxPlaintextSize(serialized.packet->length())); 995 client_framer_.GetMaxPlaintextSize(serialized.packet->length()));
996 delete serialized.retransmittable_frames; 996 delete serialized.retransmittable_frames;
997 delete serialized.packet; 997 delete serialized.packet;
998 } 998 }
999 999
1000 TEST_P(QuicPacketCreatorTest, SerializeTruncatedAckFrameWithSmallPacketSize) { 1000 TEST_P(QuicPacketCreatorTest, SerializeTruncatedAckFrameWithSmallPacketSize) {
1001 if (!GetParam().version_serialization) { 1001 if (!GetParam().version_serialization) {
1002 creator_.StopSendingVersion(); 1002 creator_.StopSendingVersion();
1003 } 1003 }
1004 creator_.set_max_packet_length(500u); 1004 creator_.SetMaxPacketLength(500u);
1005 1005
1006 const size_t max_plaintext_size = 1006 const size_t max_plaintext_size =
1007 client_framer_.GetMaxPlaintextSize(creator_.max_packet_length()); 1007 client_framer_.GetMaxPlaintextSize(creator_.max_packet_length());
1008 EXPECT_EQ(max_plaintext_size - creator_.PacketSize(), creator_.BytesFree()); 1008 EXPECT_EQ(max_plaintext_size - creator_.PacketSize(), creator_.BytesFree());
1009 1009
1010 // Serialized length of ack frame with 2000 nack ranges should be limited by 1010 // Serialized length of ack frame with 2000 nack ranges should be limited by
1011 // the packet size. 1011 // the packet size.
1012 QuicAckFrame ack_frame = MakeAckFrameWithNackRanges(2000u, 0u); 1012 QuicAckFrame ack_frame = MakeAckFrameWithNackRanges(2000u, 0u);
1013 size_t frame_len = client_framer_.GetSerializedFrameLength( 1013 size_t frame_len = client_framer_.GetSerializedFrameLength(
1014 QuicFrame(&ack_frame), creator_.BytesFree(), true, true, 1014 QuicFrame(&ack_frame), creator_.BytesFree(), true, true,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1054 // After 64 calls, BoolSource will refresh the bucket - make sure it does. 1054 // After 64 calls, BoolSource will refresh the bucket - make sure it does.
1055 mock_random_.ChangeValue(); 1055 mock_random_.ChangeValue();
1056 } 1056 }
1057 1057
1058 delete frames_[0].stream_frame; 1058 delete frames_[0].stream_frame;
1059 } 1059 }
1060 1060
1061 } // namespace 1061 } // namespace
1062 } // namespace test 1062 } // namespace test
1063 } // namespace net 1063 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_packet_creator.cc ('k') | net/quic/quic_packet_generator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698