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

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

Issue 1852423004: Implement SpdySerializedFrame move semantics. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
« no previous file with comments | « net/quic/spdy_utils.cc ('k') | net/spdy/buffered_spdy_framer.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 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 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 scoped_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeRequestHeadersPacket( 334 scoped_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeRequestHeadersPacket(
335 QuicPacketNumber packet_number, 335 QuicPacketNumber packet_number,
336 QuicStreamId stream_id, 336 QuicStreamId stream_id,
337 bool should_include_version, 337 bool should_include_version,
338 bool fin, 338 bool fin,
339 SpdyPriority priority, 339 SpdyPriority priority,
340 const SpdyHeaderBlock& headers, 340 const SpdyHeaderBlock& headers,
341 size_t* spdy_headers_frame_length, 341 size_t* spdy_headers_frame_length,
342 QuicStreamOffset* offset) { 342 QuicStreamOffset* offset) {
343 InitializeHeader(packet_number, should_include_version); 343 InitializeHeader(packet_number, should_include_version);
344 scoped_ptr<SpdySerializedFrame> spdy_frame; 344 SpdySerializedFrame spdy_frame;
345 if (spdy_request_framer_.protocol_version() == SPDY3) { 345 if (spdy_request_framer_.protocol_version() == SPDY3) {
346 SpdySynStreamIR syn_stream(stream_id); 346 SpdySynStreamIR syn_stream(stream_id);
347 syn_stream.set_header_block(headers); 347 syn_stream.set_header_block(headers);
348 syn_stream.set_fin(fin); 348 syn_stream.set_fin(fin);
349 syn_stream.set_priority(priority); 349 syn_stream.set_priority(priority);
350 spdy_frame.reset(spdy_request_framer_.SerializeSynStream(syn_stream)); 350 spdy_frame = spdy_request_framer_.SerializeSynStream(syn_stream);
351 } else { 351 } else {
352 SpdyHeadersIR headers_frame(stream_id); 352 SpdyHeadersIR headers_frame(stream_id);
353 headers_frame.set_header_block(headers); 353 headers_frame.set_header_block(headers);
354 headers_frame.set_fin(fin); 354 headers_frame.set_fin(fin);
355 headers_frame.set_priority(priority); 355 headers_frame.set_priority(priority);
356 headers_frame.set_has_priority(true); 356 headers_frame.set_has_priority(true);
357 spdy_frame.reset(spdy_request_framer_.SerializeFrame(headers_frame)); 357 spdy_frame = spdy_request_framer_.SerializeFrame(headers_frame);
358 } 358 }
359 if (spdy_headers_frame_length) { 359 if (spdy_headers_frame_length) {
360 *spdy_headers_frame_length = spdy_frame->size(); 360 *spdy_headers_frame_length = spdy_frame.size();
361 } 361 }
362 if (offset != nullptr) { 362 if (offset != nullptr) {
363 QuicStreamFrame frame( 363 QuicStreamFrame frame(
364 kHeadersStreamId, false, *offset, 364 kHeadersStreamId, false, *offset,
365 base::StringPiece(spdy_frame->data(), spdy_frame->size())); 365 base::StringPiece(spdy_frame.data(), spdy_frame.size()));
366 *offset += spdy_frame->size(); 366 *offset += spdy_frame.size();
367 return MakePacket(header_, QuicFrame(&frame)); 367 return MakePacket(header_, QuicFrame(&frame));
368 } else { 368 } else {
369 QuicStreamFrame frame( 369 QuicStreamFrame frame(
370 kHeadersStreamId, false, 0, 370 kHeadersStreamId, false, 0,
371 base::StringPiece(spdy_frame->data(), spdy_frame->size())); 371 base::StringPiece(spdy_frame.data(), spdy_frame.size()));
372 372
373 return MakePacket(header_, QuicFrame(&frame)); 373 return MakePacket(header_, QuicFrame(&frame));
374 } 374 }
375 } 375 }
376 376
377 // Convenience method for calling MakeRequestHeadersPacket with nullptr for 377 // Convenience method for calling MakeRequestHeadersPacket with nullptr for
378 // |spdy_headers_frame_length|. 378 // |spdy_headers_frame_length|.
379 scoped_ptr<QuicReceivedPacket> 379 scoped_ptr<QuicReceivedPacket>
380 QuicTestPacketMaker::MakeRequestHeadersPacketWithOffsetTracking( 380 QuicTestPacketMaker::MakeRequestHeadersPacketWithOffsetTracking(
381 QuicPacketNumber packet_number, 381 QuicPacketNumber packet_number,
(...skipping 12 matching lines...) Expand all
394 // Will also update the value after packet creation. 394 // Will also update the value after packet creation.
395 scoped_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeResponseHeadersPacket( 395 scoped_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeResponseHeadersPacket(
396 QuicPacketNumber packet_number, 396 QuicPacketNumber packet_number,
397 QuicStreamId stream_id, 397 QuicStreamId stream_id,
398 bool should_include_version, 398 bool should_include_version,
399 bool fin, 399 bool fin,
400 const SpdyHeaderBlock& headers, 400 const SpdyHeaderBlock& headers,
401 size_t* spdy_headers_frame_length, 401 size_t* spdy_headers_frame_length,
402 QuicStreamOffset* offset) { 402 QuicStreamOffset* offset) {
403 InitializeHeader(packet_number, should_include_version); 403 InitializeHeader(packet_number, should_include_version);
404 scoped_ptr<SpdySerializedFrame> spdy_frame; 404 SpdySerializedFrame spdy_frame;
405 if (spdy_response_framer_.protocol_version() == SPDY3) { 405 if (spdy_response_framer_.protocol_version() == SPDY3) {
406 SpdySynReplyIR syn_reply(stream_id); 406 SpdySynReplyIR syn_reply(stream_id);
407 syn_reply.set_header_block(headers); 407 syn_reply.set_header_block(headers);
408 syn_reply.set_fin(fin); 408 syn_reply.set_fin(fin);
409 spdy_frame.reset(spdy_response_framer_.SerializeSynReply(syn_reply)); 409 spdy_frame = spdy_response_framer_.SerializeSynReply(syn_reply);
410 } else { 410 } else {
411 SpdyHeadersIR headers_frame(stream_id); 411 SpdyHeadersIR headers_frame(stream_id);
412 headers_frame.set_header_block(headers); 412 headers_frame.set_header_block(headers);
413 headers_frame.set_fin(fin); 413 headers_frame.set_fin(fin);
414 spdy_frame.reset(spdy_response_framer_.SerializeFrame(headers_frame)); 414 spdy_frame = spdy_response_framer_.SerializeFrame(headers_frame);
415 } 415 }
416 if (spdy_headers_frame_length) { 416 if (spdy_headers_frame_length) {
417 *spdy_headers_frame_length = spdy_frame->size(); 417 *spdy_headers_frame_length = spdy_frame.size();
418 } 418 }
419 if (offset != nullptr) { 419 if (offset != nullptr) {
420 QuicStreamFrame frame( 420 QuicStreamFrame frame(
421 kHeadersStreamId, false, *offset, 421 kHeadersStreamId, false, *offset,
422 base::StringPiece(spdy_frame->data(), spdy_frame->size())); 422 base::StringPiece(spdy_frame.data(), spdy_frame.size()));
423 *offset += spdy_frame->size(); 423 *offset += spdy_frame.size();
424 return MakePacket(header_, QuicFrame(&frame)); 424 return MakePacket(header_, QuicFrame(&frame));
425 } else { 425 } else {
426 QuicStreamFrame frame( 426 QuicStreamFrame frame(
427 kHeadersStreamId, false, 0, 427 kHeadersStreamId, false, 0,
428 base::StringPiece(spdy_frame->data(), spdy_frame->size())); 428 base::StringPiece(spdy_frame.data(), spdy_frame.size()));
429 return MakePacket(header_, QuicFrame(&frame)); 429 return MakePacket(header_, QuicFrame(&frame));
430 } 430 }
431 } 431 }
432 432
433 scoped_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeResponseHeadersPacket( 433 scoped_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeResponseHeadersPacket(
434 QuicPacketNumber packet_number, 434 QuicPacketNumber packet_number,
435 QuicStreamId stream_id, 435 QuicStreamId stream_id,
436 bool should_include_version, 436 bool should_include_version,
437 bool fin, 437 bool fin,
438 const SpdyHeaderBlock& headers, 438 const SpdyHeaderBlock& headers,
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 header_.public_header.version_flag = should_include_version; 518 header_.public_header.version_flag = should_include_version;
519 header_.public_header.packet_number_length = PACKET_1BYTE_PACKET_NUMBER; 519 header_.public_header.packet_number_length = PACKET_1BYTE_PACKET_NUMBER;
520 header_.packet_number = packet_number; 520 header_.packet_number = packet_number;
521 header_.fec_group = 0; 521 header_.fec_group = 0;
522 header_.entropy_flag = false; 522 header_.entropy_flag = false;
523 header_.fec_flag = false; 523 header_.fec_flag = false;
524 } 524 }
525 525
526 } // namespace test 526 } // namespace test
527 } // namespace net 527 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/spdy_utils.cc ('k') | net/spdy/buffered_spdy_framer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698