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

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

Issue 14083012: QUIC: retransmit packets with the correct encryption. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge ToT and Reset the callback in case of errors Created 7 years, 8 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
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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/compiler_specific.h" 6 #include "base/compiler_specific.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "net/base/test_completion_callback.h" 8 #include "net/base/test_completion_callback.h"
9 #include "net/cert/mock_cert_verifier.h" 9 #include "net/cert/mock_cert_verifier.h"
10 #include "net/dns/mock_host_resolver.h" 10 #include "net/dns/mock_host_resolver.h"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 header.fec_entropy_flag = false; 114 header.fec_entropy_flag = false;
115 header.fec_group = 0; 115 header.fec_group = 0;
116 116
117 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked); 117 QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked);
118 118
119 QuicCongestionFeedbackFrame feedback; 119 QuicCongestionFeedbackFrame feedback;
120 feedback.type = kTCP; 120 feedback.type = kTCP;
121 feedback.tcp.accumulated_number_of_lost_packets = 0; 121 feedback.tcp.accumulated_number_of_lost_packets = 0;
122 feedback.tcp.receive_window = 256000; 122 feedback.tcp.receive_window = 256000;
123 123
124 QuicFramer framer(kQuicVersion1, 124 QuicFramer framer(kQuicVersion1, QuicTime::Zero(), false);
125 QuicDecrypter::Create(kNULL),
126 QuicEncrypter::Create(kNULL),
127 QuicTime::Zero(),
128 false);
129 QuicFrames frames; 125 QuicFrames frames;
130 frames.push_back(QuicFrame(&ack)); 126 frames.push_back(QuicFrame(&ack));
131 frames.push_back(QuicFrame(&feedback)); 127 frames.push_back(QuicFrame(&feedback));
132 scoped_ptr<QuicPacket> packet( 128 scoped_ptr<QuicPacket> packet(
133 framer.ConstructFrameDataPacket(header, frames).packet); 129 framer.ConstructFrameDataPacket(header, frames).packet);
134 return scoped_ptr<QuicEncryptedPacket>( 130 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(
135 framer.EncryptPacket(header.packet_sequence_number, *packet)); 131 ENCRYPTION_NONE, header.packet_sequence_number, *packet));
136 } 132 }
137 133
138 std::string GetRequestString(const std::string& method, 134 std::string GetRequestString(const std::string& method,
139 const std::string& path) { 135 const std::string& path) {
140 SpdyHeaderBlock headers; 136 SpdyHeaderBlock headers;
141 headers[":method"] = method; 137 headers[":method"] = method;
142 headers[":host"] = "www.google.com"; 138 headers[":host"] = "www.google.com";
143 headers[":path"] = path; 139 headers[":path"] = path;
144 headers[":scheme"] = "http"; 140 headers[":scheme"] = "http";
145 headers[":version"] = "HTTP/1.1"; 141 headers[":version"] = "HTTP/1.1";
(...skipping 25 matching lines...) Expand all
171 QuicStreamOffset offset, 167 QuicStreamOffset offset,
172 base::StringPiece data) { 168 base::StringPiece data) {
173 InitializeHeader(sequence_number, should_include_version); 169 InitializeHeader(sequence_number, should_include_version);
174 QuicStreamFrame frame(3, fin, offset, data); 170 QuicStreamFrame frame(3, fin, offset, data);
175 return ConstructPacket(header_, QuicFrame(&frame)).release(); 171 return ConstructPacket(header_, QuicFrame(&frame)).release();
176 } 172 }
177 173
178 scoped_ptr<QuicEncryptedPacket> ConstructPacket( 174 scoped_ptr<QuicEncryptedPacket> ConstructPacket(
179 const QuicPacketHeader& header, 175 const QuicPacketHeader& header,
180 const QuicFrame& frame) { 176 const QuicFrame& frame) {
181 QuicFramer framer(kQuicVersion1, 177 QuicFramer framer(kQuicVersion1, QuicTime::Zero(), false);
182 QuicDecrypter::Create(kNULL),
183 QuicEncrypter::Create(kNULL),
184 QuicTime::Zero(),
185 false);
186 QuicFrames frames; 178 QuicFrames frames;
187 frames.push_back(frame); 179 frames.push_back(frame);
188 scoped_ptr<QuicPacket> packet( 180 scoped_ptr<QuicPacket> packet(
189 framer.ConstructFrameDataPacket(header, frames).packet); 181 framer.ConstructFrameDataPacket(header, frames).packet);
190 return scoped_ptr<QuicEncryptedPacket>( 182 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(
191 framer.EncryptPacket(header.packet_sequence_number, *packet)); 183 ENCRYPTION_NONE, header.packet_sequence_number, *packet));
192 } 184 }
193 185
194 void InitializeHeader(QuicPacketSequenceNumber sequence_number, 186 void InitializeHeader(QuicPacketSequenceNumber sequence_number,
195 bool should_include_version) { 187 bool should_include_version) {
196 header_.public_header.guid = random_generator_.RandUint64(); 188 header_.public_header.guid = random_generator_.RandUint64();
197 header_.public_header.reset_flag = false; 189 header_.public_header.reset_flag = false;
198 header_.public_header.version_flag = should_include_version; 190 header_.public_header.version_flag = should_include_version;
199 header_.packet_sequence_number = sequence_number; 191 header_.packet_sequence_number = sequence_number;
200 header_.fec_group = 0; 192 header_.fec_group = 0;
201 header_.entropy_flag = false; 193 header_.entropy_flag = false;
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 ASSERT_TRUE(response->headers != NULL); 483 ASSERT_TRUE(response->headers != NULL);
492 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 484 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
493 EXPECT_FALSE(response->was_fetched_via_spdy); 485 EXPECT_FALSE(response->was_fetched_via_spdy);
494 486
495 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); 487 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
496 EXPECT_EQ("hello!", response_data); 488 EXPECT_EQ("hello!", response_data);
497 } 489 }
498 490
499 } // namespace test 491 } // namespace test
500 } // namespace net 492 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698