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

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

Issue 341083007: Land Recent QUIC Changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Compile fix Created 6 years, 6 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
« no previous file with comments | « net/quic/quic_packet_generator.cc ('k') | net/quic/quic_protocol.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 (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 "net/quic/quic_packet_generator.h" 5 #include "net/quic/quic_packet_generator.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "net/quic/crypto/crypto_protocol.h" 9 #include "net/quic/crypto/crypto_protocol.h"
10 #include "net/quic/crypto/null_encrypter.h" 10 #include "net/quic/crypto/null_encrypter.h"
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 370
371 PacketContents contents; 371 PacketContents contents;
372 contents.num_rst_stream_frames = 1; 372 contents.num_rst_stream_frames = 1;
373 CheckPacketContains(contents, packet_); 373 CheckPacketContains(contents, packet_);
374 } 374 }
375 375
376 TEST_F(QuicPacketGeneratorTest, ConsumeData_NotWritable) { 376 TEST_F(QuicPacketGeneratorTest, ConsumeData_NotWritable) {
377 delegate_.SetCanNotWrite(); 377 delegate_.SetCanNotWrite();
378 378
379 QuicConsumedData consumed = generator_.ConsumeData( 379 QuicConsumedData consumed = generator_.ConsumeData(
380 1, MakeIOVector("foo"), 2, true, MAY_FEC_PROTECT, NULL); 380 kHeadersStreamId, MakeIOVector("foo"), 2, true, MAY_FEC_PROTECT, NULL);
381 EXPECT_EQ(0u, consumed.bytes_consumed); 381 EXPECT_EQ(0u, consumed.bytes_consumed);
382 EXPECT_FALSE(consumed.fin_consumed); 382 EXPECT_FALSE(consumed.fin_consumed);
383 EXPECT_FALSE(generator_.HasQueuedFrames()); 383 EXPECT_FALSE(generator_.HasQueuedFrames());
384 } 384 }
385 385
386 TEST_F(QuicPacketGeneratorTest, ConsumeData_WritableAndShouldNotFlush) { 386 TEST_F(QuicPacketGeneratorTest, ConsumeData_WritableAndShouldNotFlush) {
387 delegate_.SetCanWriteAnything(); 387 delegate_.SetCanWriteAnything();
388 generator_.StartBatchOperations(); 388 generator_.StartBatchOperations();
389 389
390 QuicConsumedData consumed = generator_.ConsumeData( 390 QuicConsumedData consumed = generator_.ConsumeData(
391 1, MakeIOVector("foo"), 2, true, MAY_FEC_PROTECT, NULL); 391 kHeadersStreamId, MakeIOVector("foo"), 2, true, MAY_FEC_PROTECT, NULL);
392 EXPECT_EQ(3u, consumed.bytes_consumed); 392 EXPECT_EQ(3u, consumed.bytes_consumed);
393 EXPECT_TRUE(consumed.fin_consumed); 393 EXPECT_TRUE(consumed.fin_consumed);
394 EXPECT_TRUE(generator_.HasQueuedFrames()); 394 EXPECT_TRUE(generator_.HasQueuedFrames());
395 } 395 }
396 396
397 TEST_F(QuicPacketGeneratorTest, ConsumeData_WritableAndShouldFlush) { 397 TEST_F(QuicPacketGeneratorTest, ConsumeData_WritableAndShouldFlush) {
398 delegate_.SetCanWriteAnything(); 398 delegate_.SetCanWriteAnything();
399 399
400 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce( 400 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce(
401 DoAll(SaveArg<0>(&packet_), Return(true))); 401 DoAll(SaveArg<0>(&packet_), Return(true)));
402 QuicConsumedData consumed = generator_.ConsumeData( 402 QuicConsumedData consumed = generator_.ConsumeData(
403 1, MakeIOVector("foo"), 2, true, MAY_FEC_PROTECT, NULL); 403 kHeadersStreamId, MakeIOVector("foo"), 2, true, MAY_FEC_PROTECT, NULL);
404 EXPECT_EQ(3u, consumed.bytes_consumed); 404 EXPECT_EQ(3u, consumed.bytes_consumed);
405 EXPECT_TRUE(consumed.fin_consumed); 405 EXPECT_TRUE(consumed.fin_consumed);
406 EXPECT_FALSE(generator_.HasQueuedFrames()); 406 EXPECT_FALSE(generator_.HasQueuedFrames());
407 407
408 PacketContents contents; 408 PacketContents contents;
409 contents.num_stream_frames = 1; 409 contents.num_stream_frames = 1;
410 CheckPacketContains(contents, packet_); 410 CheckPacketContains(contents, packet_);
411 } 411 }
412 412
413 TEST_F(QuicPacketGeneratorTest, 413 TEST_F(QuicPacketGeneratorTest,
414 ConsumeDataMultipleTimes_WritableAndShouldNotFlush) { 414 ConsumeDataMultipleTimes_WritableAndShouldNotFlush) {
415 delegate_.SetCanWriteAnything(); 415 delegate_.SetCanWriteAnything();
416 generator_.StartBatchOperations(); 416 generator_.StartBatchOperations();
417 417
418 generator_.ConsumeData(1, MakeIOVector("foo"), 2, true, MAY_FEC_PROTECT, 418 generator_.ConsumeData(kHeadersStreamId, MakeIOVector("foo"), 2, true,
419 NULL); 419 MAY_FEC_PROTECT, NULL);
420 QuicConsumedData consumed = generator_.ConsumeData( 420 QuicConsumedData consumed = generator_.ConsumeData(
421 3, MakeIOVector("quux"), 7, false, MAY_FEC_PROTECT, NULL); 421 3, MakeIOVector("quux"), 7, false, MAY_FEC_PROTECT, NULL);
422 EXPECT_EQ(4u, consumed.bytes_consumed); 422 EXPECT_EQ(4u, consumed.bytes_consumed);
423 EXPECT_FALSE(consumed.fin_consumed); 423 EXPECT_FALSE(consumed.fin_consumed);
424 EXPECT_TRUE(generator_.HasQueuedFrames()); 424 EXPECT_TRUE(generator_.HasQueuedFrames());
425 } 425 }
426 426
427 TEST_F(QuicPacketGeneratorTest, ConsumeData_BatchOperations) { 427 TEST_F(QuicPacketGeneratorTest, ConsumeData_BatchOperations) {
428 delegate_.SetCanWriteAnything(); 428 delegate_.SetCanWriteAnything();
429 generator_.StartBatchOperations(); 429 generator_.StartBatchOperations();
430 430
431 generator_.ConsumeData(1, MakeIOVector("foo"), 2, true, MAY_FEC_PROTECT, 431 generator_.ConsumeData(kHeadersStreamId, MakeIOVector("foo"), 2, true,
432 NULL); 432 MAY_FEC_PROTECT, NULL);
433 QuicConsumedData consumed = generator_.ConsumeData( 433 QuicConsumedData consumed = generator_.ConsumeData(
434 3, MakeIOVector("quux"), 7, false, MAY_FEC_PROTECT, NULL); 434 3, MakeIOVector("quux"), 7, false, MAY_FEC_PROTECT, NULL);
435 EXPECT_EQ(4u, consumed.bytes_consumed); 435 EXPECT_EQ(4u, consumed.bytes_consumed);
436 EXPECT_FALSE(consumed.fin_consumed); 436 EXPECT_FALSE(consumed.fin_consumed);
437 EXPECT_TRUE(generator_.HasQueuedFrames()); 437 EXPECT_TRUE(generator_.HasQueuedFrames());
438 438
439 // Now both frames will be flushed out. 439 // Now both frames will be flushed out.
440 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce( 440 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce(
441 DoAll(SaveArg<0>(&packet_), Return(true))); 441 DoAll(SaveArg<0>(&packet_), Return(true)));
442 generator_.FinishBatchOperations(); 442 generator_.FinishBatchOperations();
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 InSequence dummy; 536 InSequence dummy;
537 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce( 537 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce(
538 DoAll(SaveArg<0>(&packet_), Return(true))); 538 DoAll(SaveArg<0>(&packet_), Return(true)));
539 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce( 539 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce(
540 DoAll(SaveArg<0>(&packet2_), Return(true))); 540 DoAll(SaveArg<0>(&packet2_), Return(true)));
541 } 541 }
542 generator_.StartBatchOperations(); 542 generator_.StartBatchOperations();
543 // Queue enough data to prevent a stream frame with a non-zero offset from 543 // Queue enough data to prevent a stream frame with a non-zero offset from
544 // fitting. 544 // fitting.
545 QuicConsumedData consumed = generator_.ConsumeData( 545 QuicConsumedData consumed = generator_.ConsumeData(
546 1, MakeIOVector("foo"), 0, false, MAY_FEC_PROTECT, NULL); 546 kHeadersStreamId, MakeIOVector("foo"), 0, false, MAY_FEC_PROTECT, NULL);
547 EXPECT_EQ(3u, consumed.bytes_consumed); 547 EXPECT_EQ(3u, consumed.bytes_consumed);
548 EXPECT_FALSE(consumed.fin_consumed); 548 EXPECT_FALSE(consumed.fin_consumed);
549 EXPECT_TRUE(generator_.HasQueuedFrames()); 549 EXPECT_TRUE(generator_.HasQueuedFrames());
550 550
551 // This frame will not fit with the existing frame, causing the queued frame 551 // This frame will not fit with the existing frame, causing the queued frame
552 // to be serialized, and it will not fit with another frame like it, so it is 552 // to be serialized, and it will not fit with another frame like it, so it is
553 // serialized by itself. 553 // serialized by itself.
554 consumed = generator_.ConsumeData(1, MakeIOVector("bar"), 3, true, 554 consumed = generator_.ConsumeData(kHeadersStreamId, MakeIOVector("bar"), 3,
555 MAY_FEC_PROTECT, NULL); 555 true, MAY_FEC_PROTECT, NULL);
556 EXPECT_EQ(3u, consumed.bytes_consumed); 556 EXPECT_EQ(3u, consumed.bytes_consumed);
557 EXPECT_TRUE(consumed.fin_consumed); 557 EXPECT_TRUE(consumed.fin_consumed);
558 EXPECT_FALSE(generator_.HasQueuedFrames()); 558 EXPECT_FALSE(generator_.HasQueuedFrames());
559 559
560 PacketContents contents; 560 PacketContents contents;
561 contents.num_stream_frames = 1; 561 contents.num_stream_frames = 1;
562 CheckPacketContains(contents, packet_); 562 CheckPacketContains(contents, packet_);
563 CheckPacketContains(contents, packet2_); 563 CheckPacketContains(contents, packet2_);
564 } 564 }
565 565
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
897 897
898 // The second should have the remainder of the stream data. 898 // The second should have the remainder of the stream data.
899 PacketContents contents2; 899 PacketContents contents2;
900 contents2.num_goaway_frames = 1; 900 contents2.num_goaway_frames = 1;
901 contents2.num_stream_frames = 1; 901 contents2.num_stream_frames = 1;
902 CheckPacketContains(contents2, packet2_); 902 CheckPacketContains(contents2, packet2_);
903 } 903 }
904 904
905 } // namespace test 905 } // namespace test
906 } // namespace net 906 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_packet_generator.cc ('k') | net/quic/quic_protocol.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698