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_framer.h" | 5 #include "net/quic/quic_framer.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 vector<string*> stream_data_; | 335 vector<string*> stream_data_; |
336 vector<string*> fec_data_redundancy_; | 336 vector<string*> fec_data_redundancy_; |
337 }; | 337 }; |
338 | 338 |
339 class QuicFramerTest : public ::testing::TestWithParam<QuicVersion> { | 339 class QuicFramerTest : public ::testing::TestWithParam<QuicVersion> { |
340 public: | 340 public: |
341 QuicFramerTest() | 341 QuicFramerTest() |
342 : encrypter_(new test::TestEncrypter()), | 342 : encrypter_(new test::TestEncrypter()), |
343 decrypter_(new test::TestDecrypter()), | 343 decrypter_(new test::TestDecrypter()), |
344 start_(QuicTime::Zero().Add(QuicTime::Delta::FromMicroseconds(0x10))), | 344 start_(QuicTime::Zero().Add(QuicTime::Delta::FromMicroseconds(0x10))), |
345 framer_(QuicSupportedVersions(), start_, true) { | 345 framer_(QuicSupportedVersions(), start_, Perspective::IS_SERVER) { |
346 version_ = GetParam(); | 346 version_ = GetParam(); |
347 framer_.set_version(version_); | 347 framer_.set_version(version_); |
348 framer_.SetDecrypter(decrypter_, ENCRYPTION_NONE); | 348 framer_.SetDecrypter(decrypter_, ENCRYPTION_NONE); |
349 framer_.SetEncrypter(ENCRYPTION_NONE, encrypter_); | 349 framer_.SetEncrypter(ENCRYPTION_NONE, encrypter_); |
350 framer_.set_visitor(&visitor_); | 350 framer_.set_visitor(&visitor_); |
351 framer_.set_received_entropy_calculator(&entropy_calculator_); | 351 framer_.set_received_entropy_calculator(&entropy_calculator_); |
352 } | 352 } |
353 | 353 |
354 // Helper function to get unsigned char representation of digit in the | 354 // Helper function to get unsigned char representation of digit in the |
355 // units place of the current QUIC version number. | 355 // units place of the current QUIC version number. |
(...skipping 2406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2762 // public flags (version, 8 byte connection_id) | 2762 // public flags (version, 8 byte connection_id) |
2763 0x3D, | 2763 0x3D, |
2764 // connection_id | 2764 // connection_id |
2765 0x10, 0x32, 0x54, 0x76, | 2765 0x10, 0x32, 0x54, 0x76, |
2766 0x98, 0xBA, 0xDC, 0xFE, | 2766 0x98, 0xBA, 0xDC, 0xFE, |
2767 // version tag | 2767 // version tag |
2768 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(), | 2768 'Q', '0', GetQuicVersionDigitTens(), GetQuicVersionDigitOnes(), |
2769 'Q', '2', '.', '0', | 2769 'Q', '2', '.', '0', |
2770 }; | 2770 }; |
2771 | 2771 |
2772 QuicFramerPeer::SetIsServer(&framer_, false); | 2772 QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT); |
2773 | 2773 |
2774 QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false); | 2774 QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false); |
2775 EXPECT_TRUE(framer_.ProcessPacket(encrypted)); | 2775 EXPECT_TRUE(framer_.ProcessPacket(encrypted)); |
2776 ASSERT_EQ(QUIC_NO_ERROR, framer_.error()); | 2776 ASSERT_EQ(QUIC_NO_ERROR, framer_.error()); |
2777 ASSERT_TRUE(visitor_.version_negotiation_packet_.get()); | 2777 ASSERT_TRUE(visitor_.version_negotiation_packet_.get()); |
2778 EXPECT_EQ(2u, visitor_.version_negotiation_packet_->versions.size()); | 2778 EXPECT_EQ(2u, visitor_.version_negotiation_packet_->versions.size()); |
2779 EXPECT_EQ(GetParam(), visitor_.version_negotiation_packet_->versions[0]); | 2779 EXPECT_EQ(GetParam(), visitor_.version_negotiation_packet_->versions[0]); |
2780 | 2780 |
2781 for (size_t i = 0; i <= kPublicFlagsSize + PACKET_8BYTE_CONNECTION_ID; ++i) { | 2781 for (size_t i = 0; i <= kPublicFlagsSize + PACKET_8BYTE_CONNECTION_ID; ++i) { |
2782 string expected_error; | 2782 string expected_error; |
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3186 'o', | 3186 'o', |
3187 ' ', | 3187 ' ', |
3188 'w', | 3188 'w', |
3189 'o', | 3189 'o', |
3190 'r', | 3190 'r', |
3191 'l', | 3191 'l', |
3192 'd', | 3192 'd', |
3193 '!', | 3193 '!', |
3194 }; | 3194 }; |
3195 | 3195 |
3196 QuicFramerPeer::SetIsServer(&framer_, false); | 3196 QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT); |
3197 scoped_ptr<QuicPacket> data(BuildDataPacket(header, frames)); | 3197 scoped_ptr<QuicPacket> data(BuildDataPacket(header, frames)); |
3198 ASSERT_TRUE(data != nullptr); | 3198 ASSERT_TRUE(data != nullptr); |
3199 | 3199 |
3200 test::CompareCharArraysWithHexError("constructed packet", | 3200 test::CompareCharArraysWithHexError("constructed packet", |
3201 data->data(), data->length(), | 3201 data->data(), data->length(), |
3202 AsChars(packet), arraysize(packet)); | 3202 AsChars(packet), arraysize(packet)); |
3203 } | 3203 } |
3204 | 3204 |
3205 TEST_P(QuicFramerTest, BuildVersionNegotiationPacket) { | 3205 TEST_P(QuicFramerTest, BuildVersionNegotiationPacket) { |
3206 QuicPacketPublicHeader header; | 3206 QuicPacketPublicHeader header; |
(...skipping 1055 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4262 EXPECT_CALL(visitor, OnPacketComplete()); | 4262 EXPECT_CALL(visitor, OnPacketComplete()); |
4263 EXPECT_CALL(visitor, OnUnauthenticatedPublicHeader(_)).WillOnce(Return(true)); | 4263 EXPECT_CALL(visitor, OnUnauthenticatedPublicHeader(_)).WillOnce(Return(true)); |
4264 | 4264 |
4265 QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false); | 4265 QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false); |
4266 EXPECT_TRUE(framer_.ProcessPacket(encrypted)); | 4266 EXPECT_TRUE(framer_.ProcessPacket(encrypted)); |
4267 EXPECT_EQ(QUIC_NO_ERROR, framer_.error()); | 4267 EXPECT_EQ(QUIC_NO_ERROR, framer_.error()); |
4268 } | 4268 } |
4269 | 4269 |
4270 } // namespace test | 4270 } // namespace test |
4271 } // namespace net | 4271 } // namespace net |
OLD | NEW |