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

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

Issue 2740453006: Add QuicStringPiece which is actually StringPiece. (Closed)
Patch Set: fix compile error and rebase Created 3 years, 9 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/chromium/quic_test_packet_maker.h ('k') | net/quic/chromium/quic_utils_chromium.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 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/chromium/quic_test_packet_maker.h" 5 #include "net/quic/chromium/quic_test_packet_maker.h"
6 6
7 #include <list> 7 #include <list>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 return std::unique_ptr<QuicReceivedPacket>(encrypted.Clone()); 264 return std::unique_ptr<QuicReceivedPacket>(encrypted.Clone());
265 } 265 }
266 266
267 // Returns a newly created packet to send kData on stream 1. 267 // Returns a newly created packet to send kData on stream 1.
268 std::unique_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeDataPacket( 268 std::unique_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeDataPacket(
269 QuicPacketNumber packet_number, 269 QuicPacketNumber packet_number,
270 QuicStreamId stream_id, 270 QuicStreamId stream_id,
271 bool should_include_version, 271 bool should_include_version,
272 bool fin, 272 bool fin,
273 QuicStreamOffset offset, 273 QuicStreamOffset offset,
274 base::StringPiece data) { 274 QuicStringPiece data) {
275 InitializeHeader(packet_number, should_include_version); 275 InitializeHeader(packet_number, should_include_version);
276 QuicStreamFrame frame(stream_id, fin, offset, data); 276 QuicStreamFrame frame(stream_id, fin, offset, data);
277 DVLOG(1) << "Adding frame: " << frame; 277 DVLOG(1) << "Adding frame: " << frame;
278 return MakePacket(header_, QuicFrame(&frame)); 278 return MakePacket(header_, QuicFrame(&frame));
279 } 279 }
280 280
281 std::unique_ptr<QuicReceivedPacket> 281 std::unique_ptr<QuicReceivedPacket>
282 QuicTestPacketMaker::MakeMultipleDataFramesPacket( 282 QuicTestPacketMaker::MakeMultipleDataFramesPacket(
283 QuicPacketNumber packet_number, 283 QuicPacketNumber packet_number,
284 QuicStreamId stream_id, 284 QuicStreamId stream_id,
285 bool should_include_version, 285 bool should_include_version,
286 bool fin, 286 bool fin,
287 QuicStreamOffset offset, 287 QuicStreamOffset offset,
288 const std::vector<std::string>& data_writes) { 288 const std::vector<std::string>& data_writes) {
289 InitializeHeader(packet_number, should_include_version); 289 InitializeHeader(packet_number, should_include_version);
290 QuicFrames data_frames; 290 QuicFrames data_frames;
291 // QuicFrame takes a raw pointer. Use a std::vector here so we keep 291 // QuicFrame takes a raw pointer. Use a std::vector here so we keep
292 // StreamFrames alive until MakeMultipleFramesPacket is done. 292 // StreamFrames alive until MakeMultipleFramesPacket is done.
293 std::vector<std::unique_ptr<QuicStreamFrame>> stream_frames; 293 std::vector<std::unique_ptr<QuicStreamFrame>> stream_frames;
294 for (size_t i = 0; i < data_writes.size(); ++i) { 294 for (size_t i = 0; i < data_writes.size(); ++i) {
295 bool is_fin = fin && (i == data_writes.size() - 1); 295 bool is_fin = fin && (i == data_writes.size() - 1);
296 stream_frames.push_back(base::MakeUnique<QuicStreamFrame>( 296 stream_frames.push_back(base::MakeUnique<QuicStreamFrame>(
297 stream_id, is_fin, offset, base::StringPiece(data_writes[i]))); 297 stream_id, is_fin, offset, QuicStringPiece(data_writes[i])));
298 offset += data_writes[i].length(); 298 offset += data_writes[i].length();
299 } 299 }
300 for (const auto& stream_frame : stream_frames) { 300 for (const auto& stream_frame : stream_frames) {
301 QuicFrame quic_frame(stream_frame.get()); 301 QuicFrame quic_frame(stream_frame.get());
302 DVLOG(1) << "Adding frame: " << quic_frame; 302 DVLOG(1) << "Adding frame: " << quic_frame;
303 data_frames.push_back(quic_frame); 303 data_frames.push_back(quic_frame);
304 } 304 }
305 return MakeMultipleFramesPacket(header_, data_frames); 305 return MakeMultipleFramesPacket(header_, data_frames);
306 } 306 }
307 307
308 std::unique_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeAckAndDataPacket( 308 std::unique_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeAckAndDataPacket(
309 QuicPacketNumber packet_number, 309 QuicPacketNumber packet_number,
310 bool include_version, 310 bool include_version,
311 QuicStreamId stream_id, 311 QuicStreamId stream_id,
312 QuicPacketNumber largest_received, 312 QuicPacketNumber largest_received,
313 QuicPacketNumber least_unacked, 313 QuicPacketNumber least_unacked,
314 bool fin, 314 bool fin,
315 QuicStreamOffset offset, 315 QuicStreamOffset offset,
316 base::StringPiece data) { 316 QuicStringPiece data) {
317 InitializeHeader(packet_number, include_version); 317 InitializeHeader(packet_number, include_version);
318 318
319 QuicAckFrame ack(MakeAckFrame(largest_received)); 319 QuicAckFrame ack(MakeAckFrame(largest_received));
320 ack.ack_delay_time = QuicTime::Delta::Zero(); 320 ack.ack_delay_time = QuicTime::Delta::Zero();
321 for (QuicPacketNumber i = least_unacked; i <= largest_received; ++i) { 321 for (QuicPacketNumber i = least_unacked; i <= largest_received; ++i) {
322 ack.received_packet_times.push_back(std::make_pair(i, clock_->Now())); 322 ack.received_packet_times.push_back(std::make_pair(i, clock_->Now()));
323 } 323 }
324 if (largest_received > 0) { 324 if (largest_received > 0) {
325 ack.packets.Add(1, largest_received + 1); 325 ack.packets.Add(1, largest_received + 1);
326 } 326 }
(...skipping 28 matching lines...) Expand all
355 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(priority)); 355 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(priority));
356 headers_frame.set_has_priority(true); 356 headers_frame.set_has_priority(true);
357 spdy_frame = 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 QuicFrames frames; 362 QuicFrames frames;
363 QuicStreamOffset header_offset = 363 QuicStreamOffset header_offset =
364 header_stream_offset == nullptr ? 0 : *header_stream_offset; 364 header_stream_offset == nullptr ? 0 : *header_stream_offset;
365 QuicStreamFrame frame( 365 QuicStreamFrame frame(kHeadersStreamId, false, header_offset,
366 kHeadersStreamId, false, header_offset, 366 QuicStringPiece(spdy_frame.data(), spdy_frame.size()));
367 base::StringPiece(spdy_frame.data(), spdy_frame.size()));
368 frames.push_back(QuicFrame(&frame)); 367 frames.push_back(QuicFrame(&frame));
369 if (header_stream_offset != nullptr) { 368 if (header_stream_offset != nullptr) {
370 *header_stream_offset += spdy_frame.size(); 369 *header_stream_offset += spdy_frame.size();
371 } 370 }
372 371
373 QuicStreamOffset offset = 0; 372 QuicStreamOffset offset = 0;
374 // QuicFrame takes a raw pointer. Use a std::vector here so we keep 373 // QuicFrame takes a raw pointer. Use a std::vector here so we keep
375 // StreamFrames alive until MakeMultipleFramesPacket is done. 374 // StreamFrames alive until MakeMultipleFramesPacket is done.
376 std::vector<std::unique_ptr<QuicStreamFrame>> stream_frames; 375 std::vector<std::unique_ptr<QuicStreamFrame>> stream_frames;
377 for (size_t i = 0; i < data_writes.size(); ++i) { 376 for (size_t i = 0; i < data_writes.size(); ++i) {
378 bool is_fin = fin && (i == data_writes.size() - 1); 377 bool is_fin = fin && (i == data_writes.size() - 1);
379 stream_frames.push_back(base::MakeUnique<QuicStreamFrame>( 378 stream_frames.push_back(base::MakeUnique<QuicStreamFrame>(
380 stream_id, is_fin, offset, base::StringPiece(data_writes[i]))); 379 stream_id, is_fin, offset, QuicStringPiece(data_writes[i])));
381 offset += data_writes[i].length(); 380 offset += data_writes[i].length();
382 } 381 }
383 for (const auto& stream_frame : stream_frames) { 382 for (const auto& stream_frame : stream_frames) {
384 QuicFrame quic_frame(stream_frame.get()); 383 QuicFrame quic_frame(stream_frame.get());
385 DVLOG(1) << "Adding frame: " << quic_frame; 384 DVLOG(1) << "Adding frame: " << quic_frame;
386 frames.push_back(quic_frame); 385 frames.push_back(quic_frame);
387 } 386 }
388 return MakeMultipleFramesPacket(header_, frames); 387 return MakeMultipleFramesPacket(header_, frames);
389 } 388 }
390 389
(...skipping 29 matching lines...) Expand all
420 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(priority)); 419 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(priority));
421 headers_frame.set_has_priority(true); 420 headers_frame.set_has_priority(true);
422 spdy_frame = spdy_request_framer_.SerializeFrame(headers_frame); 421 spdy_frame = spdy_request_framer_.SerializeFrame(headers_frame);
423 422
424 if (spdy_headers_frame_length) { 423 if (spdy_headers_frame_length) {
425 *spdy_headers_frame_length = spdy_frame.size(); 424 *spdy_headers_frame_length = spdy_frame.size();
426 } 425 }
427 if (offset != nullptr) { 426 if (offset != nullptr) {
428 QuicStreamFrame frame( 427 QuicStreamFrame frame(
429 kHeadersStreamId, false, *offset, 428 kHeadersStreamId, false, *offset,
430 base::StringPiece(spdy_frame.data(), spdy_frame.size())); 429 QuicStringPiece(spdy_frame.data(), spdy_frame.size()));
431 *offset += spdy_frame.size(); 430 *offset += spdy_frame.size();
432 return MakePacket(header_, QuicFrame(&frame)); 431 return MakePacket(header_, QuicFrame(&frame));
433 } else { 432 } else {
434 QuicStreamFrame frame( 433 QuicStreamFrame frame(
435 kHeadersStreamId, false, 0, 434 kHeadersStreamId, false, 0,
436 base::StringPiece(spdy_frame.data(), spdy_frame.size())); 435 QuicStringPiece(spdy_frame.data(), spdy_frame.size()));
437 436
438 return MakePacket(header_, QuicFrame(&frame)); 437 return MakePacket(header_, QuicFrame(&frame));
439 } 438 }
440 } 439 }
441 440
442 // Convenience method for calling MakeRequestHeadersPacket with nullptr for 441 // Convenience method for calling MakeRequestHeadersPacket with nullptr for
443 // |spdy_headers_frame_length|. 442 // |spdy_headers_frame_length|.
444 std::unique_ptr<QuicReceivedPacket> 443 std::unique_ptr<QuicReceivedPacket>
445 QuicTestPacketMaker::MakeRequestHeadersPacketWithOffsetTracking( 444 QuicTestPacketMaker::MakeRequestHeadersPacketWithOffsetTracking(
446 QuicPacketNumber packet_number, 445 QuicPacketNumber packet_number,
(...skipping 24 matching lines...) Expand all
471 SpdyPushPromiseIR promise_frame(stream_id, promised_stream_id, 470 SpdyPushPromiseIR promise_frame(stream_id, promised_stream_id,
472 std::move(headers)); 471 std::move(headers));
473 promise_frame.set_fin(fin); 472 promise_frame.set_fin(fin);
474 spdy_frame = spdy_request_framer_.SerializeFrame(promise_frame); 473 spdy_frame = spdy_request_framer_.SerializeFrame(promise_frame);
475 if (spdy_headers_frame_length) { 474 if (spdy_headers_frame_length) {
476 *spdy_headers_frame_length = spdy_frame.size(); 475 *spdy_headers_frame_length = spdy_frame.size();
477 } 476 }
478 if (offset != nullptr) { 477 if (offset != nullptr) {
479 QuicStreamFrame frame( 478 QuicStreamFrame frame(
480 kHeadersStreamId, false, *offset, 479 kHeadersStreamId, false, *offset,
481 base::StringPiece(spdy_frame.data(), spdy_frame.size())); 480 QuicStringPiece(spdy_frame.data(), spdy_frame.size()));
482 *offset += spdy_frame.size(); 481 *offset += spdy_frame.size();
483 return MakePacket(header_, QuicFrame(&frame)); 482 return MakePacket(header_, QuicFrame(&frame));
484 } else { 483 } else {
485 QuicStreamFrame frame( 484 QuicStreamFrame frame(
486 kHeadersStreamId, false, 0, 485 kHeadersStreamId, false, 0,
487 base::StringPiece(spdy_frame.data(), spdy_frame.size())); 486 QuicStringPiece(spdy_frame.data(), spdy_frame.size()));
488 return MakePacket(header_, QuicFrame(&frame)); 487 return MakePacket(header_, QuicFrame(&frame));
489 } 488 }
490 } 489 }
491 490
492 std::unique_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeForceHolDataPacket( 491 std::unique_ptr<QuicReceivedPacket> QuicTestPacketMaker::MakeForceHolDataPacket(
493 QuicPacketNumber packet_number, 492 QuicPacketNumber packet_number,
494 QuicStreamId stream_id, 493 QuicStreamId stream_id,
495 bool should_include_version, 494 bool should_include_version,
496 bool fin, 495 bool fin,
497 QuicStreamOffset* offset, 496 QuicStreamOffset* offset,
498 base::StringPiece data) { 497 QuicStringPiece data) {
499 SpdyDataIR spdy_data(stream_id, data); 498 SpdyDataIR spdy_data(stream_id, data);
500 spdy_data.set_fin(fin); 499 spdy_data.set_fin(fin);
501 SpdySerializedFrame spdy_frame( 500 SpdySerializedFrame spdy_frame(
502 spdy_request_framer_.SerializeFrame(spdy_data)); 501 spdy_request_framer_.SerializeFrame(spdy_data));
503 InitializeHeader(packet_number, should_include_version); 502 InitializeHeader(packet_number, should_include_version);
504 QuicStreamFrame quic_frame(kHeadersStreamId, false, *offset, 503 QuicStreamFrame quic_frame(
505 StringPiece(spdy_frame.data(), spdy_frame.size())); 504 kHeadersStreamId, false, *offset,
505 QuicStringPiece(spdy_frame.data(), spdy_frame.size()));
506 *offset += spdy_frame.size(); 506 *offset += spdy_frame.size();
507 return MakePacket(header_, QuicFrame(&quic_frame)); 507 return MakePacket(header_, QuicFrame(&quic_frame));
508 } 508 }
509 509
510 // If |offset| is provided, will use the value when creating the packet. 510 // If |offset| is provided, will use the value when creating the packet.
511 // Will also update the value after packet creation. 511 // Will also update the value after packet creation.
512 std::unique_ptr<QuicReceivedPacket> 512 std::unique_ptr<QuicReceivedPacket>
513 QuicTestPacketMaker::MakeResponseHeadersPacket( 513 QuicTestPacketMaker::MakeResponseHeadersPacket(
514 QuicPacketNumber packet_number, 514 QuicPacketNumber packet_number,
515 QuicStreamId stream_id, 515 QuicStreamId stream_id,
516 bool should_include_version, 516 bool should_include_version,
517 bool fin, 517 bool fin,
518 SpdyHeaderBlock headers, 518 SpdyHeaderBlock headers,
519 size_t* spdy_headers_frame_length, 519 size_t* spdy_headers_frame_length,
520 QuicStreamOffset* offset) { 520 QuicStreamOffset* offset) {
521 InitializeHeader(packet_number, should_include_version); 521 InitializeHeader(packet_number, should_include_version);
522 SpdySerializedFrame spdy_frame; 522 SpdySerializedFrame spdy_frame;
523 SpdyHeadersIR headers_frame(stream_id, std::move(headers)); 523 SpdyHeadersIR headers_frame(stream_id, std::move(headers));
524 headers_frame.set_fin(fin); 524 headers_frame.set_fin(fin);
525 spdy_frame = spdy_response_framer_.SerializeFrame(headers_frame); 525 spdy_frame = spdy_response_framer_.SerializeFrame(headers_frame);
526 526
527 if (spdy_headers_frame_length) { 527 if (spdy_headers_frame_length) {
528 *spdy_headers_frame_length = spdy_frame.size(); 528 *spdy_headers_frame_length = spdy_frame.size();
529 } 529 }
530 if (offset != nullptr) { 530 if (offset != nullptr) {
531 QuicStreamFrame frame( 531 QuicStreamFrame frame(
532 kHeadersStreamId, false, *offset, 532 kHeadersStreamId, false, *offset,
533 base::StringPiece(spdy_frame.data(), spdy_frame.size())); 533 QuicStringPiece(spdy_frame.data(), spdy_frame.size()));
534 *offset += spdy_frame.size(); 534 *offset += spdy_frame.size();
535 return MakePacket(header_, QuicFrame(&frame)); 535 return MakePacket(header_, QuicFrame(&frame));
536 } else { 536 } else {
537 QuicStreamFrame frame( 537 QuicStreamFrame frame(
538 kHeadersStreamId, false, 0, 538 kHeadersStreamId, false, 0,
539 base::StringPiece(spdy_frame.data(), spdy_frame.size())); 539 QuicStringPiece(spdy_frame.data(), spdy_frame.size()));
540 return MakePacket(header_, QuicFrame(&frame)); 540 return MakePacket(header_, QuicFrame(&frame));
541 } 541 }
542 } 542 }
543 543
544 std::unique_ptr<QuicReceivedPacket> 544 std::unique_ptr<QuicReceivedPacket>
545 QuicTestPacketMaker::MakeResponseHeadersPacket( 545 QuicTestPacketMaker::MakeResponseHeadersPacket(
546 QuicPacketNumber packet_number, 546 QuicPacketNumber packet_number,
547 QuicStreamId stream_id, 547 QuicStreamId stream_id,
548 bool should_include_version, 548 bool should_include_version,
549 bool fin, 549 bool fin,
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 bool should_include_version, 637 bool should_include_version,
638 QuicStreamOffset* offset) { 638 QuicStreamOffset* offset) {
639 SpdySettingsIR settings_frame; 639 SpdySettingsIR settings_frame;
640 settings_frame.AddSetting(id, value); 640 settings_frame.AddSetting(id, value);
641 SpdySerializedFrame spdy_frame( 641 SpdySerializedFrame spdy_frame(
642 spdy_request_framer_.SerializeFrame(settings_frame)); 642 spdy_request_framer_.SerializeFrame(settings_frame));
643 InitializeHeader(packet_number, should_include_version); 643 InitializeHeader(packet_number, should_include_version);
644 if (offset != nullptr) { 644 if (offset != nullptr) {
645 QuicStreamFrame quic_frame( 645 QuicStreamFrame quic_frame(
646 kHeadersStreamId, false, *offset, 646 kHeadersStreamId, false, *offset,
647 StringPiece(spdy_frame.data(), spdy_frame.size())); 647 QuicStringPiece(spdy_frame.data(), spdy_frame.size()));
648 *offset += spdy_frame.size(); 648 *offset += spdy_frame.size();
649 return MakePacket(header_, QuicFrame(&quic_frame)); 649 return MakePacket(header_, QuicFrame(&quic_frame));
650 } 650 }
651 QuicStreamFrame quic_frame(kHeadersStreamId, false, 0, 651 QuicStreamFrame quic_frame(
652 StringPiece(spdy_frame.data(), spdy_frame.size())); 652 kHeadersStreamId, false, 0,
653 QuicStringPiece(spdy_frame.data(), spdy_frame.size()));
653 return MakePacket(header_, QuicFrame(&quic_frame)); 654 return MakePacket(header_, QuicFrame(&quic_frame));
654 } 655 }
655 656
656 } // namespace test 657 } // namespace test
657 } // namespace net 658 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/chromium/quic_test_packet_maker.h ('k') | net/quic/chromium/quic_utils_chromium.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698