| 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_generator.h" | 5 #include "net/quic/quic_packet_generator.h" |
| 6 | 6 |
| 7 #include <cstdint> | 7 #include <cstdint> |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 CheckPacketContains(contents, 0); | 443 CheckPacketContains(contents, 0); |
| 444 } | 444 } |
| 445 | 445 |
| 446 TEST_F(QuicPacketGeneratorTest, ConsumeData_FramesPreviouslyQueued) { | 446 TEST_F(QuicPacketGeneratorTest, ConsumeData_FramesPreviouslyQueued) { |
| 447 // Set the packet size be enough for two stream frames with 0 stream offset, | 447 // Set the packet size be enough for two stream frames with 0 stream offset, |
| 448 // but not enough for a stream frame of 0 offset and one with non-zero offset. | 448 // but not enough for a stream frame of 0 offset and one with non-zero offset. |
| 449 size_t length = | 449 size_t length = |
| 450 NullEncrypter().GetCiphertextSize(0) + | 450 NullEncrypter().GetCiphertextSize(0) + |
| 451 GetPacketHeaderSize( | 451 GetPacketHeaderSize( |
| 452 creator_->connection_id_length(), kIncludeVersion, !kIncludePathId, | 452 creator_->connection_id_length(), kIncludeVersion, !kIncludePathId, |
| 453 !kIncludeDiversificationNonce, |
| 453 QuicPacketCreatorPeer::NextPacketNumberLength(creator_)) + | 454 QuicPacketCreatorPeer::NextPacketNumberLength(creator_)) + |
| 454 // Add an extra 3 bytes for the payload and 1 byte so BytesFree is larger | 455 // Add an extra 3 bytes for the payload and 1 byte so BytesFree is larger |
| 455 // than the GetMinStreamFrameSize. | 456 // than the GetMinStreamFrameSize. |
| 456 QuicFramer::GetMinStreamFrameSize(1, 0, false) + 3 + | 457 QuicFramer::GetMinStreamFrameSize(1, 0, false) + 3 + |
| 457 QuicFramer::GetMinStreamFrameSize(1, 0, true) + 1; | 458 QuicFramer::GetMinStreamFrameSize(1, 0, true) + 1; |
| 458 generator_.SetMaxPacketLength(length); | 459 generator_.SetMaxPacketLength(length); |
| 459 delegate_.SetCanWriteAnything(); | 460 delegate_.SetCanWriteAnything(); |
| 460 { | 461 { |
| 461 InSequence dummy; | 462 InSequence dummy; |
| 462 EXPECT_CALL(delegate_, OnSerializedPacket(_)) | 463 EXPECT_CALL(delegate_, OnSerializedPacket(_)) |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 568 // The second should have the remainder of the stream data. | 569 // The second should have the remainder of the stream data. |
| 569 PacketContents contents2; | 570 PacketContents contents2; |
| 570 contents2.num_goaway_frames = 1; | 571 contents2.num_goaway_frames = 1; |
| 571 contents2.num_stream_frames = 1; | 572 contents2.num_stream_frames = 1; |
| 572 CheckPacketContains(contents2, 1); | 573 CheckPacketContains(contents2, 1); |
| 573 } | 574 } |
| 574 | 575 |
| 575 TEST_F(QuicPacketGeneratorTest, TestConnectionIdLength) { | 576 TEST_F(QuicPacketGeneratorTest, TestConnectionIdLength) { |
| 576 generator_.SetConnectionIdLength(0); | 577 generator_.SetConnectionIdLength(0); |
| 577 EXPECT_EQ(PACKET_0BYTE_CONNECTION_ID, creator_->connection_id_length()); | 578 EXPECT_EQ(PACKET_0BYTE_CONNECTION_ID, creator_->connection_id_length()); |
| 578 generator_.SetConnectionIdLength(1); | 579 |
| 579 EXPECT_EQ(PACKET_1BYTE_CONNECTION_ID, creator_->connection_id_length()); | 580 for (size_t i = 1; i < 10; i++) { |
| 580 generator_.SetConnectionIdLength(2); | 581 generator_.SetConnectionIdLength(i); |
| 581 EXPECT_EQ(PACKET_4BYTE_CONNECTION_ID, creator_->connection_id_length()); | 582 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); |
| 582 generator_.SetConnectionIdLength(3); | 583 } |
| 583 EXPECT_EQ(PACKET_4BYTE_CONNECTION_ID, creator_->connection_id_length()); | |
| 584 generator_.SetConnectionIdLength(4); | |
| 585 EXPECT_EQ(PACKET_4BYTE_CONNECTION_ID, creator_->connection_id_length()); | |
| 586 generator_.SetConnectionIdLength(5); | |
| 587 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); | |
| 588 generator_.SetConnectionIdLength(6); | |
| 589 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); | |
| 590 generator_.SetConnectionIdLength(7); | |
| 591 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); | |
| 592 generator_.SetConnectionIdLength(8); | |
| 593 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); | |
| 594 generator_.SetConnectionIdLength(9); | |
| 595 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); | |
| 596 } | 584 } |
| 597 | 585 |
| 598 // Test whether SetMaxPacketLength() works in the situation when the queue is | 586 // Test whether SetMaxPacketLength() works in the situation when the queue is |
| 599 // empty, and we send three packets worth of data. | 587 // empty, and we send three packets worth of data. |
| 600 TEST_F(QuicPacketGeneratorTest, SetMaxPacketLength_Initial) { | 588 TEST_F(QuicPacketGeneratorTest, SetMaxPacketLength_Initial) { |
| 601 delegate_.SetCanWriteAnything(); | 589 delegate_.SetCanWriteAnything(); |
| 602 | 590 |
| 603 // Send enough data for three packets. | 591 // Send enough data for three packets. |
| 604 size_t data_len = 3 * kDefaultMaxPacketSize + 1; | 592 size_t data_len = 3 * kDefaultMaxPacketSize + 1; |
| 605 size_t packet_len = kDefaultMaxPacketSize + 100; | 593 size_t packet_len = kDefaultMaxPacketSize + 100; |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 865 EXPECT_CALL(delegate_, OnSerializedPacket(_)) | 853 EXPECT_CALL(delegate_, OnSerializedPacket(_)) |
| 866 .WillOnce(Invoke(this, &QuicPacketGeneratorTest::SavePacket)); | 854 .WillOnce(Invoke(this, &QuicPacketGeneratorTest::SavePacket)); |
| 867 generator_.FlushAllQueuedFrames(); | 855 generator_.FlushAllQueuedFrames(); |
| 868 EXPECT_FALSE(generator_.HasQueuedFrames()); | 856 EXPECT_FALSE(generator_.HasQueuedFrames()); |
| 869 generator_.SetCurrentPath(kTestPathId1, 1, 0); | 857 generator_.SetCurrentPath(kTestPathId1, 1, 0); |
| 870 EXPECT_EQ(kTestPathId1, QuicPacketCreatorPeer::GetCurrentPath(creator_)); | 858 EXPECT_EQ(kTestPathId1, QuicPacketCreatorPeer::GetCurrentPath(creator_)); |
| 871 } | 859 } |
| 872 | 860 |
| 873 } // namespace test | 861 } // namespace test |
| 874 } // namespace net | 862 } // namespace net |
| OLD | NEW |