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

Side by Side Diff: net/quic/quic_connection_helper_test.cc

Issue 14718011: Land Recent QUIC Changes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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/quic_connection.cc ('k') | net/quic/quic_connection_test.cc » ('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/quic_connection_helper.h" 5 #include "net/quic/quic_connection_helper.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "net/base/net_errors.h" 9 #include "net/base/net_errors.h"
10 #include "net/quic/crypto/quic_decrypter.h" 10 #include "net/quic/crypto/quic_decrypter.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 PacketToWrite(IoMode mode, QuicEncryptedPacket* packet) 52 PacketToWrite(IoMode mode, QuicEncryptedPacket* packet)
53 : mode(mode), 53 : mode(mode),
54 packet(packet) { 54 packet(packet) {
55 } 55 }
56 IoMode mode; 56 IoMode mode;
57 QuicEncryptedPacket* packet; 57 QuicEncryptedPacket* packet;
58 }; 58 };
59 59
60 QuicConnectionHelperTest() 60 QuicConnectionHelperTest()
61 : guid_(2), 61 : guid_(2),
62 framer_(kQuicVersion1, 62 framer_(kQuicVersion1, QuicTime::Zero(), false),
63 QuicDecrypter::Create(kNULL),
64 QuicEncrypter::Create(kNULL),
65 QuicTime::Zero(),
66 false),
67 net_log_(BoundNetLog()), 63 net_log_(BoundNetLog()),
68 frame_(1, false, 0, kData) { 64 frame_(1, false, 0, kData) {
69 Initialize(); 65 Initialize();
70 } 66 }
71 67
72 ~QuicConnectionHelperTest() { 68 ~QuicConnectionHelperTest() {
73 for (size_t i = 0; i < writes_.size(); i++) { 69 for (size_t i = 0; i < writes_.size(); i++) {
74 delete writes_[i].packet; 70 delete writes_[i].packet;
75 } 71 }
76 } 72 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 QuicCongestionFeedbackFrame feedback; 141 QuicCongestionFeedbackFrame feedback;
146 feedback.type = kTCP; 142 feedback.type = kTCP;
147 feedback.tcp.accumulated_number_of_lost_packets = 0; 143 feedback.tcp.accumulated_number_of_lost_packets = 0;
148 feedback.tcp.receive_window = 16000 << 4; 144 feedback.tcp.receive_window = 16000 << 4;
149 145
150 QuicFrames frames; 146 QuicFrames frames;
151 frames.push_back(QuicFrame(&ack)); 147 frames.push_back(QuicFrame(&ack));
152 frames.push_back(QuicFrame(&feedback)); 148 frames.push_back(QuicFrame(&feedback));
153 scoped_ptr<QuicPacket> packet( 149 scoped_ptr<QuicPacket> packet(
154 framer_.ConstructFrameDataPacket(header_, frames).packet); 150 framer_.ConstructFrameDataPacket(header_, frames).packet);
155 return framer_.EncryptPacket(header_.packet_sequence_number, *packet); 151 return framer_.EncryptPacket(
152 ENCRYPTION_NONE, header_.packet_sequence_number, *packet);
156 } 153 }
157 154
158 // Returns a newly created packet to send a connection close frame. 155 // Returns a newly created packet to send a connection close frame.
159 QuicEncryptedPacket* ConstructClosePacket( 156 QuicEncryptedPacket* ConstructClosePacket(
160 QuicPacketSequenceNumber sequence_number, 157 QuicPacketSequenceNumber sequence_number,
161 QuicPacketSequenceNumber least_waiting) { 158 QuicPacketSequenceNumber least_waiting) {
162 InitializeHeader(sequence_number); 159 InitializeHeader(sequence_number);
163 160
164 QuicFrames frames; 161 QuicFrames frames;
165 QuicAckFrame ack(0, QuicTime::Zero(), least_waiting + 1); 162 QuicAckFrame ack(0, QuicTime::Zero(), least_waiting + 1);
(...skipping 27 matching lines...) Expand all
193 header_.fec_flag = false; 190 header_.fec_flag = false;
194 header_.fec_group = 0; 191 header_.fec_group = 0;
195 } 192 }
196 193
197 QuicEncryptedPacket* ConstructPacket(const QuicPacketHeader& header, 194 QuicEncryptedPacket* ConstructPacket(const QuicPacketHeader& header,
198 const QuicFrame& frame) { 195 const QuicFrame& frame) {
199 QuicFrames frames; 196 QuicFrames frames;
200 frames.push_back(frame); 197 frames.push_back(frame);
201 scoped_ptr<QuicPacket> packet( 198 scoped_ptr<QuicPacket> packet(
202 framer_.ConstructFrameDataPacket(header_, frames).packet); 199 framer_.ConstructFrameDataPacket(header_, frames).packet);
203 return framer_.EncryptPacket(header_.packet_sequence_number, *packet); 200 return framer_.EncryptPacket(
201 ENCRYPTION_NONE, header_.packet_sequence_number, *packet);
204 } 202 }
205 203
206 QuicGuid guid_; 204 QuicGuid guid_;
207 QuicFramer framer_; 205 QuicFramer framer_;
208 QuicPacketHeader header_; 206 QuicPacketHeader header_;
209 BoundNetLog net_log_; 207 BoundNetLog net_log_;
210 QuicStreamFrame frame_; 208 QuicStreamFrame frame_;
211 scoped_ptr<StaticSocketDataProvider> socket_data_; 209 scoped_ptr<StaticSocketDataProvider> socket_data_;
212 std::vector<PacketToWrite> writes_; 210 std::vector<PacketToWrite> writes_;
213 }; 211 };
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 TEST_F(QuicConnectionHelperTest, SendSchedulerDelayThenSend) { 404 TEST_F(QuicConnectionHelperTest, SendSchedulerDelayThenSend) {
407 AddWrite(SYNCHRONOUS, ConstructDataPacket(1)); 405 AddWrite(SYNCHRONOUS, ConstructDataPacket(1));
408 Initialize(); 406 Initialize();
409 407
410 // Test that if we send a packet with a delay, it ends up queued. 408 // Test that if we send a packet with a delay, it ends up queued.
411 EXPECT_CALL( 409 EXPECT_CALL(
412 *send_algorithm_, TimeUntilSend(_, NOT_RETRANSMISSION, _)).WillOnce( 410 *send_algorithm_, TimeUntilSend(_, NOT_RETRANSMISSION, _)).WillOnce(
413 testing::Return(QuicTime::Delta::FromMicroseconds(1))); 411 testing::Return(QuicTime::Delta::FromMicroseconds(1)));
414 412
415 QuicPacket* packet = ConstructRawDataPacket(1); 413 QuicPacket* packet = ConstructRawDataPacket(1);
416 connection_->SendOrQueuePacket(1, packet, 0, HAS_RETRANSMITTABLE_DATA); 414 connection_->SendOrQueuePacket(
415 ENCRYPTION_NONE, 1, packet, 0, HAS_RETRANSMITTABLE_DATA);
417 EXPECT_CALL(*send_algorithm_, SentPacket(_, 1, _, NOT_RETRANSMISSION)); 416 EXPECT_CALL(*send_algorithm_, SentPacket(_, 1, _, NOT_RETRANSMISSION));
418 EXPECT_EQ(1u, connection_->NumQueuedPackets()); 417 EXPECT_EQ(1u, connection_->NumQueuedPackets());
419 418
420 // Advance the clock to fire the alarm, and configure the scheduler 419 // Advance the clock to fire the alarm, and configure the scheduler
421 // to permit the packet to be sent. 420 // to permit the packet to be sent.
422 EXPECT_CALL( 421 EXPECT_CALL(
423 *send_algorithm_, TimeUntilSend(_, NOT_RETRANSMISSION, _)).WillRepeatedly( 422 *send_algorithm_, TimeUntilSend(_, NOT_RETRANSMISSION, _)).WillRepeatedly(
424 testing::Return(QuicTime::Delta::Zero())); 423 testing::Return(QuicTime::Delta::Zero()));
425 EXPECT_CALL(visitor_, OnCanWrite()).WillOnce(testing::Return(true)); 424 EXPECT_CALL(visitor_, OnCanWrite()).WillOnce(testing::Return(true));
426 runner_->RunNextTask(); 425 runner_->RunNextTask();
427 EXPECT_EQ(0u, connection_->NumQueuedPackets()); 426 EXPECT_EQ(0u, connection_->NumQueuedPackets());
428 EXPECT_TRUE(AtEof()); 427 EXPECT_TRUE(AtEof());
429 } 428 }
430 429
431 } // namespace test 430 } // namespace test
432 } // namespace net 431 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_connection.cc ('k') | net/quic/quic_connection_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698