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

Side by Side Diff: net/quic/test_tools/quic_test_utils.cc

Issue 312553003: Land Recent QUIC Changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « net/quic/test_tools/quic_test_utils.h ('k') | net/tools/quic/quic_client.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/test_tools/quic_test_utils.h" 5 #include "net/quic/test_tools/quic_test_utils.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "net/quic/crypto/crypto_framer.h" 9 #include "net/quic/crypto/crypto_framer.h"
10 #include "net/quic/crypto/crypto_handshake.h" 10 #include "net/quic/crypto/crypto_handshake.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 size_t num_nack_ranges, QuicPacketSequenceNumber least_unacked) { 56 size_t num_nack_ranges, QuicPacketSequenceNumber least_unacked) {
57 QuicAckFrame ack = MakeAckFrame(2 * num_nack_ranges + least_unacked, 57 QuicAckFrame ack = MakeAckFrame(2 * num_nack_ranges + least_unacked,
58 least_unacked); 58 least_unacked);
59 // Add enough missing packets to get num_nack_ranges nack ranges. 59 // Add enough missing packets to get num_nack_ranges nack ranges.
60 for (QuicPacketSequenceNumber i = 1; i < 2 * num_nack_ranges; i += 2) { 60 for (QuicPacketSequenceNumber i = 1; i < 2 * num_nack_ranges; i += 2) {
61 ack.received_info.missing_packets.insert(least_unacked + i); 61 ack.received_info.missing_packets.insert(least_unacked + i);
62 } 62 }
63 return ack; 63 return ack;
64 } 64 }
65 65
66 SerializedPacket BuildUnsizedDataPacket(QuicFramer* framer,
67 const QuicPacketHeader& header,
68 const QuicFrames& frames) {
69 const size_t max_plaintext_size = framer->GetMaxPlaintextSize(kMaxPacketSize);
70 size_t packet_size = GetPacketHeaderSize(header);
71 for (size_t i = 0; i < frames.size(); ++i) {
72 DCHECK_LE(packet_size, max_plaintext_size);
73 bool first_frame = i == 0;
74 bool last_frame = i == frames.size() - 1;
75 const size_t frame_size = framer->GetSerializedFrameLength(
76 frames[i], max_plaintext_size - packet_size, first_frame, last_frame,
77 header.is_in_fec_group,
78 header.public_header.sequence_number_length);
79 DCHECK(frame_size);
80 packet_size += frame_size;
81 }
82 return framer->BuildDataPacket(header, frames, packet_size);
83 }
84
66 MockFramerVisitor::MockFramerVisitor() { 85 MockFramerVisitor::MockFramerVisitor() {
67 // By default, we want to accept packets. 86 // By default, we want to accept packets.
68 ON_CALL(*this, OnProtocolVersionMismatch(_)) 87 ON_CALL(*this, OnProtocolVersionMismatch(_))
69 .WillByDefault(testing::Return(false)); 88 .WillByDefault(testing::Return(false));
70 89
71 // By default, we want to accept packets. 90 // By default, we want to accept packets.
72 ON_CALL(*this, OnUnauthenticatedHeader(_)) 91 ON_CALL(*this, OnUnauthenticatedHeader(_))
73 .WillByDefault(testing::Return(true)); 92 .WillByDefault(testing::Return(true));
74 93
75 ON_CALL(*this, OnUnauthenticatedPublicHeader(_)) 94 ON_CALL(*this, OnUnauthenticatedPublicHeader(_))
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 header.entropy_hash = 0; 435 header.entropy_hash = 0;
417 header.fec_flag = false; 436 header.fec_flag = false;
418 header.is_in_fec_group = NOT_IN_FEC_GROUP; 437 header.is_in_fec_group = NOT_IN_FEC_GROUP;
419 header.fec_group = 0; 438 header.fec_group = 0;
420 QuicStreamFrame stream_frame(1, false, 0, MakeIOVector(data)); 439 QuicStreamFrame stream_frame(1, false, 0, MakeIOVector(data));
421 QuicFrame frame(&stream_frame); 440 QuicFrame frame(&stream_frame);
422 QuicFrames frames; 441 QuicFrames frames;
423 frames.push_back(frame); 442 frames.push_back(frame);
424 QuicFramer framer(QuicSupportedVersions(), QuicTime::Zero(), false); 443 QuicFramer framer(QuicSupportedVersions(), QuicTime::Zero(), false);
425 scoped_ptr<QuicPacket> packet( 444 scoped_ptr<QuicPacket> packet(
426 framer.BuildUnsizedDataPacket(header, frames).packet); 445 BuildUnsizedDataPacket(&framer, header, frames).packet);
427 EXPECT_TRUE(packet != NULL); 446 EXPECT_TRUE(packet != NULL);
428 QuicEncryptedPacket* encrypted = framer.EncryptPacket(ENCRYPTION_NONE, 447 QuicEncryptedPacket* encrypted = framer.EncryptPacket(ENCRYPTION_NONE,
429 sequence_number, 448 sequence_number,
430 *packet); 449 *packet);
431 EXPECT_TRUE(encrypted != NULL); 450 EXPECT_TRUE(encrypted != NULL);
432 return encrypted; 451 return encrypted;
433 } 452 }
434 453
435 void CompareCharArraysWithHexError( 454 void CompareCharArraysWithHexError(
436 const string& description, 455 const string& description,
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 header.entropy_hash = 0; 512 header.entropy_hash = 0;
494 header.fec_flag = false; 513 header.fec_flag = false;
495 header.fec_group = 0; 514 header.fec_group = 0;
496 515
497 QuicStreamFrame stream_frame(kCryptoStreamId, false, 0, 516 QuicStreamFrame stream_frame(kCryptoStreamId, false, 0,
498 MakeIOVector(data->AsStringPiece())); 517 MakeIOVector(data->AsStringPiece()));
499 518
500 QuicFrame frame(&stream_frame); 519 QuicFrame frame(&stream_frame);
501 QuicFrames frames; 520 QuicFrames frames;
502 frames.push_back(frame); 521 frames.push_back(frame);
503 return quic_framer.BuildUnsizedDataPacket(header, frames).packet; 522 return BuildUnsizedDataPacket(&quic_framer, header, frames).packet;
504 } 523 }
505 524
506 QuicPacket* ConstructHandshakePacket(QuicConnectionId connection_id, 525 QuicPacket* ConstructHandshakePacket(QuicConnectionId connection_id,
507 QuicTag tag) { 526 QuicTag tag) {
508 CryptoHandshakeMessage message; 527 CryptoHandshakeMessage message;
509 message.set_tag(tag); 528 message.set_tag(tag);
510 return ConstructPacketFromHandshakeMessage(connection_id, message, false); 529 return ConstructPacketFromHandshakeMessage(connection_id, message, false);
511 } 530 }
512 531
513 size_t GetPacketLengthForOneStream( 532 size_t GetPacketLengthForOneStream(
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 } 576 }
558 577
559 QuicVersionVector SupportedVersions(QuicVersion version) { 578 QuicVersionVector SupportedVersions(QuicVersion version) {
560 QuicVersionVector versions; 579 QuicVersionVector versions;
561 versions.push_back(version); 580 versions.push_back(version);
562 return versions; 581 return versions;
563 } 582 }
564 583
565 } // namespace test 584 } // namespace test
566 } // namespace net 585 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/test_tools/quic_test_utils.h ('k') | net/tools/quic/quic_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698