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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 params.push_back(TestParams( | 66 params.push_back(TestParams( |
67 all_supported_versions[0], true, PACKET_1BYTE_CONNECTION_ID)); | 67 all_supported_versions[0], true, PACKET_1BYTE_CONNECTION_ID)); |
68 params.push_back(TestParams( | 68 params.push_back(TestParams( |
69 all_supported_versions[0], true, PACKET_4BYTE_CONNECTION_ID)); | 69 all_supported_versions[0], true, PACKET_4BYTE_CONNECTION_ID)); |
70 return params; | 70 return params; |
71 } | 71 } |
72 | 72 |
73 class QuicPacketCreatorTest : public ::testing::TestWithParam<TestParams> { | 73 class QuicPacketCreatorTest : public ::testing::TestWithParam<TestParams> { |
74 protected: | 74 protected: |
75 QuicPacketCreatorTest() | 75 QuicPacketCreatorTest() |
76 : server_framer_(SupportedVersions(GetParam().version), QuicTime::Zero(), | 76 : server_framer_(SupportedVersions(GetParam().version), |
77 true), | 77 QuicTime::Zero(), |
78 client_framer_(SupportedVersions(GetParam().version), QuicTime::Zero(), | 78 Perspective::IS_SERVER), |
79 false), | 79 client_framer_(SupportedVersions(GetParam().version), |
| 80 QuicTime::Zero(), |
| 81 Perspective::IS_CLIENT), |
80 connection_id_(2), | 82 connection_id_(2), |
81 data_("foo"), | 83 data_("foo"), |
82 creator_(connection_id_, &client_framer_, &mock_random_) { | 84 creator_(connection_id_, &client_framer_, &mock_random_) { |
83 creator_.set_connection_id_length(GetParam().connection_id_length); | 85 creator_.set_connection_id_length(GetParam().connection_id_length); |
84 client_framer_.set_visitor(&framer_visitor_); | 86 client_framer_.set_visitor(&framer_visitor_); |
85 client_framer_.set_received_entropy_calculator(&entropy_calculator_); | 87 client_framer_.set_received_entropy_calculator(&entropy_calculator_); |
86 server_framer_.set_visitor(&framer_visitor_); | 88 server_framer_.set_visitor(&framer_visitor_); |
87 } | 89 } |
88 | 90 |
89 ~QuicPacketCreatorTest() override {} | 91 ~QuicPacketCreatorTest() override {} |
(...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
772 serialized_packet.packet->length()); | 774 serialized_packet.packet->length()); |
773 } else { | 775 } else { |
774 EXPECT_EQ(kDefaultMaxPacketSize, serialized_packet.packet->length()); | 776 EXPECT_EQ(kDefaultMaxPacketSize, serialized_packet.packet->length()); |
775 } | 777 } |
776 delete serialized_packet.packet; | 778 delete serialized_packet.packet; |
777 delete serialized_packet.retransmittable_frames; | 779 delete serialized_packet.retransmittable_frames; |
778 } | 780 } |
779 } | 781 } |
780 | 782 |
781 TEST_P(QuicPacketCreatorTest, SerializeVersionNegotiationPacket) { | 783 TEST_P(QuicPacketCreatorTest, SerializeVersionNegotiationPacket) { |
782 QuicFramerPeer::SetIsServer(&client_framer_, true); | 784 QuicFramerPeer::SetPerspective(&client_framer_, Perspective::IS_SERVER); |
783 QuicVersionVector versions; | 785 QuicVersionVector versions; |
784 versions.push_back(test::QuicVersionMax()); | 786 versions.push_back(test::QuicVersionMax()); |
785 scoped_ptr<QuicEncryptedPacket> encrypted( | 787 scoped_ptr<QuicEncryptedPacket> encrypted( |
786 creator_.SerializeVersionNegotiationPacket(versions)); | 788 creator_.SerializeVersionNegotiationPacket(versions)); |
787 | 789 |
788 { | 790 { |
789 InSequence s; | 791 InSequence s; |
790 EXPECT_CALL(framer_visitor_, OnPacket()); | 792 EXPECT_CALL(framer_visitor_, OnPacket()); |
791 EXPECT_CALL(framer_visitor_, OnUnauthenticatedPublicHeader(_)); | 793 EXPECT_CALL(framer_visitor_, OnUnauthenticatedPublicHeader(_)); |
792 EXPECT_CALL(framer_visitor_, OnVersionNegotiationPacket(_)); | 794 EXPECT_CALL(framer_visitor_, OnVersionNegotiationPacket(_)); |
793 } | 795 } |
794 QuicFramerPeer::SetIsServer(&client_framer_, false); | 796 QuicFramerPeer::SetPerspective(&client_framer_, Perspective::IS_CLIENT); |
795 client_framer_.ProcessPacket(*encrypted); | 797 client_framer_.ProcessPacket(*encrypted); |
796 } | 798 } |
797 | 799 |
798 TEST_P(QuicPacketCreatorTest, UpdatePacketSequenceNumberLengthLeastAwaiting) { | 800 TEST_P(QuicPacketCreatorTest, UpdatePacketSequenceNumberLengthLeastAwaiting) { |
799 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, | 801 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, |
800 QuicPacketCreatorPeer::NextSequenceNumberLength(&creator_)); | 802 QuicPacketCreatorPeer::NextSequenceNumberLength(&creator_)); |
801 | 803 |
802 size_t max_packets_per_fec_group = 10; | 804 size_t max_packets_per_fec_group = 10; |
803 creator_.set_max_packets_per_fec_group(max_packets_per_fec_group); | 805 creator_.set_max_packets_per_fec_group(max_packets_per_fec_group); |
804 QuicPacketCreatorPeer::SetSequenceNumber(&creator_, | 806 QuicPacketCreatorPeer::SetSequenceNumber(&creator_, |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1052 // 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. |
1053 mock_random_.ChangeValue(); | 1055 mock_random_.ChangeValue(); |
1054 } | 1056 } |
1055 | 1057 |
1056 delete frames_[0].stream_frame; | 1058 delete frames_[0].stream_frame; |
1057 } | 1059 } |
1058 | 1060 |
1059 } // namespace | 1061 } // namespace |
1060 } // namespace test | 1062 } // namespace test |
1061 } // namespace net | 1063 } // namespace net |
OLD | NEW |