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

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

Issue 2102253003: Make SpdyHeaderBlock non-copyable. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: iOS fix. Created 4 years, 5 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/quic_client_promised_info_test.cc ('k') | net/quic/quic_http_stream_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 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/quic_headers_stream.h" 5 #include "net/quic/quic_headers_stream.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "net/quic/quic_utils.h" 10 #include "net/quic/quic_utils.h"
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 } 226 }
227 227
228 void WriteHeadersAndCheckData(QuicStreamId stream_id, 228 void WriteHeadersAndCheckData(QuicStreamId stream_id,
229 bool fin, 229 bool fin,
230 SpdyPriority priority, 230 SpdyPriority priority,
231 SpdyFrameType type) { 231 SpdyFrameType type) {
232 // Write the headers and capture the outgoing data 232 // Write the headers and capture the outgoing data
233 EXPECT_CALL(session_, WritevData(headers_stream_, kHeadersStreamId, _, _, 233 EXPECT_CALL(session_, WritevData(headers_stream_, kHeadersStreamId, _, _,
234 false, nullptr)) 234 false, nullptr))
235 .WillOnce(WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov))); 235 .WillOnce(WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov)));
236 headers_stream_->WriteHeaders(stream_id, headers_, fin, priority, nullptr); 236 headers_stream_->WriteHeaders(stream_id, headers_.Clone(), fin, priority,
237 nullptr);
237 238
238 // Parse the outgoing data and check that it matches was was written. 239 // Parse the outgoing data and check that it matches was was written.
239 if (type == SYN_STREAM) { 240 if (type == SYN_STREAM) {
240 EXPECT_CALL(visitor_, 241 EXPECT_CALL(visitor_,
241 OnHeaders(stream_id, kHasPriority, 242 OnHeaders(stream_id, kHasPriority,
242 Spdy3PriorityToHttp2Weight(priority), 243 Spdy3PriorityToHttp2Weight(priority),
243 /*parent_stream_id=*/0, 244 /*parent_stream_id=*/0,
244 /*exclusive=*/false, fin, kFrameComplete)); 245 /*exclusive=*/false, fin, kFrameComplete));
245 } else { 246 } else {
246 EXPECT_CALL(visitor_, 247 EXPECT_CALL(visitor_,
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 333
333 TEST_P(QuicHeadersStreamTest, WritePushPromises) { 334 TEST_P(QuicHeadersStreamTest, WritePushPromises) {
334 for (QuicStreamId stream_id = kClientDataStreamId1; 335 for (QuicStreamId stream_id = kClientDataStreamId1;
335 stream_id < kClientDataStreamId3; stream_id += 2) { 336 stream_id < kClientDataStreamId3; stream_id += 2) {
336 QuicStreamId promised_stream_id = NextPromisedStreamId(); 337 QuicStreamId promised_stream_id = NextPromisedStreamId();
337 if (perspective() == Perspective::IS_SERVER) { 338 if (perspective() == Perspective::IS_SERVER) {
338 // Write the headers and capture the outgoing data 339 // Write the headers and capture the outgoing data
339 EXPECT_CALL(session_, WritevData(headers_stream_, kHeadersStreamId, _, _, 340 EXPECT_CALL(session_, WritevData(headers_stream_, kHeadersStreamId, _, _,
340 false, nullptr)) 341 false, nullptr))
341 .WillOnce(WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov))); 342 .WillOnce(WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov)));
342 headers_stream_->WritePushPromise(stream_id, promised_stream_id, headers_, 343 headers_stream_->WritePushPromise(stream_id, promised_stream_id,
343 nullptr); 344 headers_.Clone(), nullptr);
344 345
345 // Parse the outgoing data and check that it matches was was written. 346 // Parse the outgoing data and check that it matches was was written.
346 EXPECT_CALL(visitor_, 347 EXPECT_CALL(visitor_,
347 OnPushPromise(stream_id, promised_stream_id, kFrameComplete)); 348 OnPushPromise(stream_id, promised_stream_id, kFrameComplete));
348 headers_handler_.reset(new TestHeadersHandler); 349 headers_handler_.reset(new TestHeadersHandler);
349 EXPECT_CALL(visitor_, OnHeaderFrameStart(stream_id)) 350 EXPECT_CALL(visitor_, OnHeaderFrameStart(stream_id))
350 .WillOnce(Return(headers_handler_.get())); 351 .WillOnce(Return(headers_handler_.get()));
351 EXPECT_CALL(visitor_, OnHeaderFrameEnd(stream_id, true)).Times(1); 352 EXPECT_CALL(visitor_, OnHeaderFrameEnd(stream_id, true)).Times(1);
352 framer_->ProcessInput(saved_data_.data(), saved_data_.length()); 353 framer_->ProcessInput(saved_data_.data(), saved_data_.length());
353 EXPECT_FALSE(framer_->HasError()) 354 EXPECT_FALSE(framer_->HasError())
354 << SpdyFramer::ErrorCodeToString(framer_->error_code()); 355 << SpdyFramer::ErrorCodeToString(framer_->error_code());
355 CheckHeaders(); 356 CheckHeaders();
356 saved_data_.clear(); 357 saved_data_.clear();
357 } else { 358 } else {
358 EXPECT_DFATAL(headers_stream_->WritePushPromise( 359 EXPECT_DFATAL(
359 stream_id, promised_stream_id, headers_, nullptr), 360 headers_stream_->WritePushPromise(stream_id, promised_stream_id,
360 "Client shouldn't send PUSH_PROMISE"); 361 headers_.Clone(), nullptr),
362 "Client shouldn't send PUSH_PROMISE");
361 } 363 }
362 } 364 }
363 } 365 }
364 366
365 TEST_P(QuicHeadersStreamTest, ProcessRawData) { 367 TEST_P(QuicHeadersStreamTest, ProcessRawData) {
366 for (QuicStreamId stream_id = kClientDataStreamId1; 368 for (QuicStreamId stream_id = kClientDataStreamId1;
367 stream_id < kClientDataStreamId3; stream_id += 2) { 369 stream_id < kClientDataStreamId3; stream_id += 2) {
368 for (bool fin : {false, true}) { 370 for (bool fin : {false, true}) {
369 for (SpdyPriority priority = 0; priority < 7; ++priority) { 371 for (SpdyPriority priority = 0; priority < 7; ++priority) {
370 // Replace with "WriteHeadersAndSaveData" 372 // Replace with "WriteHeadersAndSaveData"
371 SpdySerializedFrame frame; 373 SpdySerializedFrame frame;
372 if (perspective() == Perspective::IS_SERVER) { 374 if (perspective() == Perspective::IS_SERVER) {
373 SpdyHeadersIR headers_frame(stream_id, headers_); 375 SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
374 headers_frame.set_fin(fin); 376 headers_frame.set_fin(fin);
375 headers_frame.set_has_priority(true); 377 headers_frame.set_has_priority(true);
376 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0)); 378 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0));
377 frame = framer_->SerializeFrame(headers_frame); 379 frame = framer_->SerializeFrame(headers_frame);
378 EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0)); 380 EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0));
379 } else { 381 } else {
380 SpdyHeadersIR headers_frame(stream_id, headers_); 382 SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
381 headers_frame.set_fin(fin); 383 headers_frame.set_fin(fin);
382 frame = framer_->SerializeFrame(headers_frame); 384 frame = framer_->SerializeFrame(headers_frame);
383 } 385 }
384 EXPECT_CALL(session_, 386 EXPECT_CALL(session_,
385 OnStreamHeaderList(stream_id, fin, frame.size(), _)) 387 OnStreamHeaderList(stream_id, fin, frame.size(), _))
386 .WillOnce(Invoke(this, &QuicHeadersStreamTest::SaveHeaderList)); 388 .WillOnce(Invoke(this, &QuicHeadersStreamTest::SaveHeaderList));
387 stream_frame_.data_buffer = frame.data(); 389 stream_frame_.data_buffer = frame.data();
388 stream_frame_.data_length = frame.size(); 390 stream_frame_.data_length = frame.size();
389 headers_stream_->OnStreamFrame(stream_frame_); 391 headers_stream_->OnStreamFrame(stream_frame_);
390 stream_frame_.offset += frame.size(); 392 stream_frame_.offset += frame.size();
391 CheckHeaders(); 393 CheckHeaders();
392 } 394 }
393 } 395 }
394 } 396 }
395 } 397 }
396 398
397 TEST_P(QuicHeadersStreamTest, ProcessPushPromise) { 399 TEST_P(QuicHeadersStreamTest, ProcessPushPromise) {
398 if (perspective() == Perspective::IS_SERVER) 400 if (perspective() == Perspective::IS_SERVER)
399 return; 401 return;
400 for (QuicStreamId stream_id = kClientDataStreamId1; 402 for (QuicStreamId stream_id = kClientDataStreamId1;
401 stream_id < kClientDataStreamId3; stream_id += 2) { 403 stream_id < kClientDataStreamId3; stream_id += 2) {
402 QuicStreamId promised_stream_id = NextPromisedStreamId(); 404 QuicStreamId promised_stream_id = NextPromisedStreamId();
403 SpdyPushPromiseIR push_promise(stream_id, promised_stream_id, headers_); 405 SpdyPushPromiseIR push_promise(stream_id, promised_stream_id,
406 headers_.Clone());
404 SpdySerializedFrame frame(framer_->SerializeFrame(push_promise)); 407 SpdySerializedFrame frame(framer_->SerializeFrame(push_promise));
405 if (perspective() == Perspective::IS_SERVER) { 408 if (perspective() == Perspective::IS_SERVER) {
406 EXPECT_CALL(*connection_, 409 EXPECT_CALL(*connection_,
407 CloseConnection(QUIC_INVALID_HEADERS_STREAM_DATA, 410 CloseConnection(QUIC_INVALID_HEADERS_STREAM_DATA,
408 "PUSH_PROMISE not supported.", _)) 411 "PUSH_PROMISE not supported.", _))
409 .WillRepeatedly(InvokeWithoutArgs( 412 .WillRepeatedly(InvokeWithoutArgs(
410 this, &QuicHeadersStreamTest::TearDownLocalConnectionState)); 413 this, &QuicHeadersStreamTest::TearDownLocalConnectionState));
411 } else { 414 } else {
412 EXPECT_CALL(session_, OnPromiseHeaderList(stream_id, promised_stream_id, 415 EXPECT_CALL(session_, OnPromiseHeaderList(stream_id, promised_stream_id,
413 frame.size(), _)) 416 frame.size(), _))
(...skipping 15 matching lines...) Expand all
429 return; 432 return;
430 } 433 }
431 EXPECT_CALL(session_, OnHeadersHeadOfLineBlocking(_)).Times(0); 434 EXPECT_CALL(session_, OnHeadersHeadOfLineBlocking(_)).Times(0);
432 testing::InSequence seq; 435 testing::InSequence seq;
433 bool fin = true; 436 bool fin = true;
434 for (int stream_num = 0; stream_num < 10; stream_num++) { 437 for (int stream_num = 0; stream_num < 10; stream_num++) {
435 QuicStreamId stream_id = QuicClientDataStreamId(stream_num); 438 QuicStreamId stream_id = QuicClientDataStreamId(stream_num);
436 // Replace with "WriteHeadersAndSaveData" 439 // Replace with "WriteHeadersAndSaveData"
437 SpdySerializedFrame frame; 440 SpdySerializedFrame frame;
438 if (perspective() == Perspective::IS_SERVER) { 441 if (perspective() == Perspective::IS_SERVER) {
439 SpdyHeadersIR headers_frame(stream_id, headers_); 442 SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
440 headers_frame.set_fin(fin); 443 headers_frame.set_fin(fin);
441 headers_frame.set_has_priority(true); 444 headers_frame.set_has_priority(true);
442 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0)); 445 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0));
443 frame = framer_->SerializeFrame(headers_frame); 446 frame = framer_->SerializeFrame(headers_frame);
444 EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0)); 447 EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0));
445 } else { 448 } else {
446 SpdyHeadersIR headers_frame(stream_id, headers_); 449 SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
447 headers_frame.set_fin(fin); 450 headers_frame.set_fin(fin);
448 frame = framer_->SerializeFrame(headers_frame); 451 frame = framer_->SerializeFrame(headers_frame);
449 } 452 }
450 EXPECT_CALL(session_, OnStreamHeaderList(stream_id, fin, frame.size(), _)) 453 EXPECT_CALL(session_, OnStreamHeaderList(stream_id, fin, frame.size(), _))
451 .Times(1); 454 .Times(1);
452 stream_frame_.data_buffer = frame.data(); 455 stream_frame_.data_buffer = frame.data();
453 stream_frame_.data_length = frame.size(); 456 stream_frame_.data_length = frame.size();
454 headers_stream_->OnStreamFrame(stream_frame_); 457 headers_stream_->OnStreamFrame(stream_frame_);
455 connection_->AdvanceTime(QuicTime::Delta::FromMilliseconds(1)); 458 connection_->AdvanceTime(QuicTime::Delta::FromMilliseconds(1));
456 stream_frame_.offset += frame.size(); 459 stream_frame_.offset += frame.size();
457 } 460 }
458 } 461 }
459 462
460 TEST_P(QuicHeadersStreamTest, NonEmptyHeaderHOLBlockedTime) { 463 TEST_P(QuicHeadersStreamTest, NonEmptyHeaderHOLBlockedTime) {
461 if (!FLAGS_quic_measure_headers_hol_blocking_time) { 464 if (!FLAGS_quic_measure_headers_hol_blocking_time) {
462 return; 465 return;
463 } 466 }
464 QuicStreamId stream_id; 467 QuicStreamId stream_id;
465 bool fin = true; 468 bool fin = true;
466 QuicStreamFrame stream_frames[10]; 469 QuicStreamFrame stream_frames[10];
467 SpdySerializedFrame frames[10]; 470 SpdySerializedFrame frames[10];
468 // First create all the frames in order 471 // First create all the frames in order
469 { 472 {
470 InSequence seq; 473 InSequence seq;
471 for (int stream_num = 0; stream_num < 10; ++stream_num) { 474 for (int stream_num = 0; stream_num < 10; ++stream_num) {
472 stream_id = QuicClientDataStreamId(stream_num); 475 stream_id = QuicClientDataStreamId(stream_num);
473 if (perspective() == Perspective::IS_SERVER) { 476 if (perspective() == Perspective::IS_SERVER) {
474 SpdyHeadersIR headers_frame(stream_id, headers_); 477 SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
475 headers_frame.set_fin(fin); 478 headers_frame.set_fin(fin);
476 headers_frame.set_has_priority(true); 479 headers_frame.set_has_priority(true);
477 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0)); 480 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0));
478 frames[stream_num] = framer_->SerializeFrame(headers_frame); 481 frames[stream_num] = framer_->SerializeFrame(headers_frame);
479 EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0)).Times(1); 482 EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0)).Times(1);
480 } else { 483 } else {
481 SpdyHeadersIR headers_frame(stream_id, headers_); 484 SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
482 headers_frame.set_fin(fin); 485 headers_frame.set_fin(fin);
483 frames[stream_num] = framer_->SerializeFrame(headers_frame); 486 frames[stream_num] = framer_->SerializeFrame(headers_frame);
484 } 487 }
485 stream_frames[stream_num].stream_id = stream_frame_.stream_id; 488 stream_frames[stream_num].stream_id = stream_frame_.stream_id;
486 stream_frames[stream_num].offset = stream_frame_.offset; 489 stream_frames[stream_num].offset = stream_frame_.offset;
487 stream_frames[stream_num].data_buffer = frames[stream_num].data(); 490 stream_frames[stream_num].data_buffer = frames[stream_num].data();
488 stream_frames[stream_num].data_length = frames[stream_num].size(); 491 stream_frames[stream_num].data_length = frames[stream_num].size();
489 DVLOG(1) << "make frame for stream " << stream_num << " offset " 492 DVLOG(1) << "make frame for stream " << stream_num << " offset "
490 << stream_frames[stream_num].offset; 493 << stream_frames[stream_num].offset;
491 stream_frame_.offset += frames[stream_num].size(); 494 stream_frame_.offset += frames[stream_num].size();
(...skipping 19 matching lines...) Expand all
511 headers_["key0"] = string(1 << 13, '.'); 514 headers_["key0"] = string(1 << 13, '.');
512 headers_["key1"] = string(1 << 13, '.'); 515 headers_["key1"] = string(1 << 13, '.');
513 headers_["key2"] = string(1 << 13, '.'); 516 headers_["key2"] = string(1 << 13, '.');
514 for (QuicStreamId stream_id = kClientDataStreamId1; 517 for (QuicStreamId stream_id = kClientDataStreamId1;
515 stream_id < kClientDataStreamId3; stream_id += 2) { 518 stream_id < kClientDataStreamId3; stream_id += 2) {
516 for (bool fin : {false, true}) { 519 for (bool fin : {false, true}) {
517 for (SpdyPriority priority = 0; priority < 7; ++priority) { 520 for (SpdyPriority priority = 0; priority < 7; ++priority) {
518 // Replace with "WriteHeadersAndSaveData" 521 // Replace with "WriteHeadersAndSaveData"
519 SpdySerializedFrame frame; 522 SpdySerializedFrame frame;
520 if (perspective() == Perspective::IS_SERVER) { 523 if (perspective() == Perspective::IS_SERVER) {
521 SpdyHeadersIR headers_frame(stream_id, headers_); 524 SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
522 headers_frame.set_fin(fin); 525 headers_frame.set_fin(fin);
523 headers_frame.set_has_priority(true); 526 headers_frame.set_has_priority(true);
524 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0)); 527 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0));
525 frame = framer_->SerializeFrame(headers_frame); 528 frame = framer_->SerializeFrame(headers_frame);
526 EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0)); 529 EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0));
527 } else { 530 } else {
528 SpdyHeadersIR headers_frame(stream_id, headers_); 531 SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
529 headers_frame.set_fin(fin); 532 headers_frame.set_fin(fin);
530 frame = framer_->SerializeFrame(headers_frame); 533 frame = framer_->SerializeFrame(headers_frame);
531 } 534 }
532 EXPECT_CALL(session_, 535 EXPECT_CALL(session_,
533 OnStreamHeaderList(stream_id, fin, frame.size(), _)) 536 OnStreamHeaderList(stream_id, fin, frame.size(), _))
534 .WillOnce(Invoke(this, &QuicHeadersStreamTest::SaveHeaderList)); 537 .WillOnce(Invoke(this, &QuicHeadersStreamTest::SaveHeaderList));
535 stream_frame_.data_buffer = frame.data(); 538 stream_frame_.data_buffer = frame.data();
536 stream_frame_.data_length = frame.size(); 539 stream_frame_.data_length = frame.size();
537 headers_stream_->OnStreamFrame(stream_frame_); 540 headers_stream_->OnStreamFrame(stream_frame_);
538 stream_frame_.offset += frame.size(); 541 stream_frame_.offset += frame.size();
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
716 .Times(4); 719 .Times(4);
717 } 720 }
718 } 721 }
719 for (QuicStreamId stream_id = kClientDataStreamId1; 722 for (QuicStreamId stream_id = kClientDataStreamId1;
720 stream_id < kClientDataStreamId3; stream_id += 2) { 723 stream_id < kClientDataStreamId3; stream_id += 2) {
721 for (bool fin : {false, true}) { 724 for (bool fin : {false, true}) {
722 for (SpdyPriority priority = 0; priority < 7; ++priority) { 725 for (SpdyPriority priority = 0; priority < 7; ++priority) {
723 // Replace with "WriteHeadersAndSaveData" 726 // Replace with "WriteHeadersAndSaveData"
724 SpdySerializedFrame frame; 727 SpdySerializedFrame frame;
725 if (perspective() == Perspective::IS_SERVER) { 728 if (perspective() == Perspective::IS_SERVER) {
726 SpdyHeadersIR headers_frame(stream_id, headers_); 729 SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
727 headers_frame.set_fin(fin); 730 headers_frame.set_fin(fin);
728 headers_frame.set_has_priority(true); 731 headers_frame.set_has_priority(true);
729 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0)); 732 headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0));
730 frame = framer_->SerializeFrame(headers_frame); 733 frame = framer_->SerializeFrame(headers_frame);
731 EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0)); 734 EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0));
732 } else { 735 } else {
733 SpdyHeadersIR headers_frame(stream_id, headers_); 736 SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
734 headers_frame.set_fin(fin); 737 headers_frame.set_fin(fin);
735 frame = framer_->SerializeFrame(headers_frame); 738 frame = framer_->SerializeFrame(headers_frame);
736 } 739 }
737 EXPECT_CALL(session_, 740 EXPECT_CALL(session_,
738 OnStreamHeaderList(stream_id, fin, frame.size(), _)) 741 OnStreamHeaderList(stream_id, fin, frame.size(), _))
739 .WillOnce(Invoke(this, &QuicHeadersStreamTest::SaveHeaderList)); 742 .WillOnce(Invoke(this, &QuicHeadersStreamTest::SaveHeaderList));
740 stream_frame_.data_buffer = frame.data(); 743 stream_frame_.data_buffer = frame.data();
741 stream_frame_.data_length = frame.size(); 744 stream_frame_.data_length = frame.size();
742 connection_->AdvanceTime(QuicTime::Delta::FromMilliseconds(1)); 745 connection_->AdvanceTime(QuicTime::Delta::FromMilliseconds(1));
743 headers_stream_->OnStreamFrame(stream_frame_); 746 headers_stream_->OnStreamFrame(stream_frame_);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
780 connection_->AdvanceTime(QuicTime::Delta::FromMilliseconds(1)); 783 connection_->AdvanceTime(QuicTime::Delta::FromMilliseconds(1));
781 } 784 }
782 } 785 }
783 } 786 }
784 } 787 }
785 } 788 }
786 789
787 } // namespace 790 } // namespace
788 } // namespace test 791 } // namespace test
789 } // namespace net 792 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_client_promised_info_test.cc ('k') | net/quic/quic_http_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698