| 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 |