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

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

Issue 1360063002: Include HTTP header bytes in GetTotalSent/ReceivedBytes for QUIC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed nits Created 5 years, 2 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
« no previous file with comments | « net/quic/test_tools/quic_test_packet_maker.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_packet_maker.h" 5 #include "net/quic/test_tools/quic_test_packet_maker.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "net/quic/quic_framer.h" 9 #include "net/quic/quic_framer.h"
10 #include "net/quic/quic_http_utils.h" 10 #include "net/quic/quic_http_utils.h"
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 QuicStreamFrame frame(stream_id, fin, offset, data); 169 QuicStreamFrame frame(stream_id, fin, offset, data);
170 return MakePacket(header_, QuicFrame(&frame)); 170 return MakePacket(header_, QuicFrame(&frame));
171 } 171 }
172 172
173 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeRequestHeadersPacket( 173 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeRequestHeadersPacket(
174 QuicPacketNumber packet_number, 174 QuicPacketNumber packet_number,
175 QuicStreamId stream_id, 175 QuicStreamId stream_id,
176 bool should_include_version, 176 bool should_include_version,
177 bool fin, 177 bool fin,
178 QuicPriority priority, 178 QuicPriority priority,
179 const SpdyHeaderBlock& headers) { 179 const SpdyHeaderBlock& headers,
180 size_t* spdy_headers_frame_length) {
180 InitializeHeader(packet_number, should_include_version); 181 InitializeHeader(packet_number, should_include_version);
181 scoped_ptr<SpdySerializedFrame> spdy_frame; 182 scoped_ptr<SpdySerializedFrame> spdy_frame;
182 if (spdy_request_framer_.protocol_version() == SPDY3) { 183 if (spdy_request_framer_.protocol_version() == SPDY3) {
183 SpdySynStreamIR syn_stream(stream_id); 184 SpdySynStreamIR syn_stream(stream_id);
184 syn_stream.set_header_block(headers); 185 syn_stream.set_header_block(headers);
185 syn_stream.set_fin(fin); 186 syn_stream.set_fin(fin);
186 syn_stream.set_priority(priority); 187 syn_stream.set_priority(priority);
187 spdy_frame.reset(spdy_request_framer_.SerializeSynStream(syn_stream)); 188 spdy_frame.reset(spdy_request_framer_.SerializeSynStream(syn_stream));
188 } else { 189 } else {
189 SpdyHeadersIR headers_frame(stream_id); 190 SpdyHeadersIR headers_frame(stream_id);
190 headers_frame.set_header_block(headers); 191 headers_frame.set_header_block(headers);
191 headers_frame.set_fin(fin); 192 headers_frame.set_fin(fin);
192 headers_frame.set_priority(priority); 193 headers_frame.set_priority(priority);
193 headers_frame.set_has_priority(true); 194 headers_frame.set_has_priority(true);
194 spdy_frame.reset(spdy_request_framer_.SerializeFrame(headers_frame)); 195 spdy_frame.reset(spdy_request_framer_.SerializeFrame(headers_frame));
195 } 196 }
197 if (spdy_headers_frame_length) {
198 *spdy_headers_frame_length = spdy_frame->size();
199 }
196 QuicStreamFrame frame( 200 QuicStreamFrame frame(
197 kHeadersStreamId, false, 0, 201 kHeadersStreamId, false, 0,
198 base::StringPiece(spdy_frame->data(), spdy_frame->size())); 202 base::StringPiece(spdy_frame->data(), spdy_frame->size()));
199 return MakePacket(header_, QuicFrame(&frame)); 203 return MakePacket(header_, QuicFrame(&frame));
200 } 204 }
201 205
206 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeRequestHeadersPacket(
207 QuicPacketNumber packet_number,
208 QuicStreamId stream_id,
209 bool should_include_version,
210 bool fin,
211 QuicPriority priority,
212 const SpdyHeaderBlock& headers) {
213 return MakeRequestHeadersPacket(packet_number, stream_id,
214 should_include_version, fin, priority,
215 headers, nullptr);
216 }
217
202 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeResponseHeadersPacket( 218 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeResponseHeadersPacket(
203 QuicPacketNumber packet_number, 219 QuicPacketNumber packet_number,
204 QuicStreamId stream_id, 220 QuicStreamId stream_id,
205 bool should_include_version, 221 bool should_include_version,
206 bool fin, 222 bool fin,
207 const SpdyHeaderBlock& headers) { 223 const SpdyHeaderBlock& headers,
224 size_t* spdy_headers_frame_length) {
208 InitializeHeader(packet_number, should_include_version); 225 InitializeHeader(packet_number, should_include_version);
209 scoped_ptr<SpdySerializedFrame> spdy_frame; 226 scoped_ptr<SpdySerializedFrame> spdy_frame;
210 if (spdy_request_framer_.protocol_version() == SPDY3) { 227 if (spdy_request_framer_.protocol_version() == SPDY3) {
211 SpdySynReplyIR syn_reply(stream_id); 228 SpdySynReplyIR syn_reply(stream_id);
212 syn_reply.set_header_block(headers); 229 syn_reply.set_header_block(headers);
213 syn_reply.set_fin(fin); 230 syn_reply.set_fin(fin);
214 spdy_frame.reset(spdy_response_framer_.SerializeSynReply(syn_reply)); 231 spdy_frame.reset(spdy_response_framer_.SerializeSynReply(syn_reply));
215 } else { 232 } else {
216 SpdyHeadersIR headers_frame(stream_id); 233 SpdyHeadersIR headers_frame(stream_id);
217 headers_frame.set_header_block(headers); 234 headers_frame.set_header_block(headers);
218 headers_frame.set_fin(fin); 235 headers_frame.set_fin(fin);
219 spdy_frame.reset(spdy_request_framer_.SerializeFrame(headers_frame)); 236 spdy_frame.reset(spdy_request_framer_.SerializeFrame(headers_frame));
220 } 237 }
238 if (spdy_headers_frame_length) {
239 *spdy_headers_frame_length = spdy_frame->size();
240 }
221 QuicStreamFrame frame( 241 QuicStreamFrame frame(
222 kHeadersStreamId, false, 0, 242 kHeadersStreamId, false, 0,
223 base::StringPiece(spdy_frame->data(), spdy_frame->size())); 243 base::StringPiece(spdy_frame->data(), spdy_frame->size()));
224 return MakePacket(header_, QuicFrame(&frame)); 244 return MakePacket(header_, QuicFrame(&frame));
225 } 245 }
226 246
247 scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeResponseHeadersPacket(
248 QuicPacketNumber packet_number,
249 QuicStreamId stream_id,
250 bool should_include_version,
251 bool fin,
252 const SpdyHeaderBlock& headers) {
253 return MakeResponseHeadersPacket(
254 packet_number, stream_id, should_include_version, fin, headers, nullptr);
255 }
256
227 SpdyHeaderBlock QuicTestPacketMaker::GetRequestHeaders( 257 SpdyHeaderBlock QuicTestPacketMaker::GetRequestHeaders(
228 const std::string& method, 258 const std::string& method,
229 const std::string& scheme, 259 const std::string& scheme,
230 const std::string& path) { 260 const std::string& path) {
231 SpdyHeaderBlock headers; 261 SpdyHeaderBlock headers;
232 if (version_ <= QUIC_VERSION_24) { 262 if (version_ <= QUIC_VERSION_24) {
233 headers[":host"] = host_; 263 headers[":host"] = host_;
234 } else { 264 } else {
235 headers[":authority"] = host_; 265 headers[":authority"] = host_;
236 } 266 }
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 header_.public_header.version_flag = should_include_version; 308 header_.public_header.version_flag = should_include_version;
279 header_.public_header.packet_number_length = PACKET_1BYTE_PACKET_NUMBER; 309 header_.public_header.packet_number_length = PACKET_1BYTE_PACKET_NUMBER;
280 header_.packet_packet_number = packet_number; 310 header_.packet_packet_number = packet_number;
281 header_.fec_group = 0; 311 header_.fec_group = 0;
282 header_.entropy_flag = false; 312 header_.entropy_flag = false;
283 header_.fec_flag = false; 313 header_.fec_flag = false;
284 } 314 }
285 315
286 } // namespace test 316 } // namespace test
287 } // namespace net 317 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/test_tools/quic_test_packet_maker.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698