| OLD | NEW |
| 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 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 553 CheckPacketContains(contents, packet2_); | 553 CheckPacketContains(contents, packet2_); |
| 554 } | 554 } |
| 555 | 555 |
| 556 TEST_F(QuicPacketGeneratorTest, FecGroupSizeOnCongestionWindowChange) { | 556 TEST_F(QuicPacketGeneratorTest, FecGroupSizeOnCongestionWindowChange) { |
| 557 delegate_.SetCanWriteAnything(); | 557 delegate_.SetCanWriteAnything(); |
| 558 creator_->set_max_packets_per_fec_group(50); | 558 creator_->set_max_packets_per_fec_group(50); |
| 559 EXPECT_EQ(50u, creator_->max_packets_per_fec_group()); | 559 EXPECT_EQ(50u, creator_->max_packets_per_fec_group()); |
| 560 EXPECT_FALSE(creator_->IsFecGroupOpen()); | 560 EXPECT_FALSE(creator_->IsFecGroupOpen()); |
| 561 | 561 |
| 562 // On reduced cwnd. | 562 // On reduced cwnd. |
| 563 generator_.OnCongestionWindowChange(7 * kDefaultTCPMSS); | 563 generator_.OnCongestionWindowChange(7); |
| 564 EXPECT_EQ(3u, creator_->max_packets_per_fec_group()); | 564 EXPECT_EQ(3u, creator_->max_packets_per_fec_group()); |
| 565 | 565 |
| 566 // On increased cwnd. | 566 // On increased cwnd. |
| 567 generator_.OnCongestionWindowChange(100 * kDefaultTCPMSS); | 567 generator_.OnCongestionWindowChange(100); |
| 568 EXPECT_EQ(50u, creator_->max_packets_per_fec_group()); | 568 EXPECT_EQ(50u, creator_->max_packets_per_fec_group()); |
| 569 | 569 |
| 570 // On collapsed cwnd. | 570 // On collapsed cwnd. |
| 571 generator_.OnCongestionWindowChange(1 * kDefaultTCPMSS); | 571 generator_.OnCongestionWindowChange(1); |
| 572 EXPECT_EQ(2u, creator_->max_packets_per_fec_group()); | 572 EXPECT_EQ(2u, creator_->max_packets_per_fec_group()); |
| 573 } | 573 } |
| 574 | 574 |
| 575 TEST_F(QuicPacketGeneratorTest, FecGroupSizeChangeWithOpenGroup) { | 575 TEST_F(QuicPacketGeneratorTest, FecGroupSizeChangeWithOpenGroup) { |
| 576 delegate_.SetCanWriteAnything(); | 576 delegate_.SetCanWriteAnything(); |
| 577 // TODO(jri): This starting of batch mode should not be required when | 577 // TODO(jri): This starting of batch mode should not be required when |
| 578 // FEC sending is separated from batching operations. | 578 // FEC sending is separated from batching operations. |
| 579 generator_.StartBatchOperations(); | 579 generator_.StartBatchOperations(); |
| 580 creator_->set_max_packets_per_fec_group(50); | 580 creator_->set_max_packets_per_fec_group(50); |
| 581 EXPECT_EQ(50u, creator_->max_packets_per_fec_group()); | 581 EXPECT_EQ(50u, creator_->max_packets_per_fec_group()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 592 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce( | 592 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce( |
| 593 SaveArg<0>(&packet3_)); | 593 SaveArg<0>(&packet3_)); |
| 594 } | 594 } |
| 595 size_t data_len = 3 * kDefaultMaxPacketSize + 1; | 595 size_t data_len = 3 * kDefaultMaxPacketSize + 1; |
| 596 QuicConsumedData consumed = generator_.ConsumeData( | 596 QuicConsumedData consumed = generator_.ConsumeData( |
| 597 7, CreateData(data_len), 0, true, MUST_FEC_PROTECT, nullptr); | 597 7, CreateData(data_len), 0, true, MUST_FEC_PROTECT, nullptr); |
| 598 EXPECT_EQ(data_len, consumed.bytes_consumed); | 598 EXPECT_EQ(data_len, consumed.bytes_consumed); |
| 599 EXPECT_TRUE(creator_->IsFecGroupOpen()); | 599 EXPECT_TRUE(creator_->IsFecGroupOpen()); |
| 600 | 600 |
| 601 // Change FEC groupsize. | 601 // Change FEC groupsize. |
| 602 generator_.OnCongestionWindowChange(2 * kDefaultTCPMSS); | 602 generator_.OnCongestionWindowChange(2); |
| 603 EXPECT_EQ(2u, creator_->max_packets_per_fec_group()); | 603 EXPECT_EQ(2u, creator_->max_packets_per_fec_group()); |
| 604 | 604 |
| 605 // Send enough data to trigger one unprotected data packet, | 605 // Send enough data to trigger one unprotected data packet, |
| 606 // causing the FEC packet to also be sent. | 606 // causing the FEC packet to also be sent. |
| 607 { | 607 { |
| 608 InSequence dummy; | 608 InSequence dummy; |
| 609 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce( | 609 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce( |
| 610 SaveArg<0>(&packet4_)); | 610 SaveArg<0>(&packet4_)); |
| 611 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce( | 611 EXPECT_CALL(delegate_, OnSerializedPacket(_)).WillOnce( |
| 612 SaveArg<0>(&packet5_)); | 612 SaveArg<0>(&packet5_)); |
| (...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 971 generator_.SetConnectionIdLength(7); | 971 generator_.SetConnectionIdLength(7); |
| 972 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); | 972 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); |
| 973 generator_.SetConnectionIdLength(8); | 973 generator_.SetConnectionIdLength(8); |
| 974 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); | 974 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); |
| 975 generator_.SetConnectionIdLength(9); | 975 generator_.SetConnectionIdLength(9); |
| 976 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); | 976 EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID, creator_->connection_id_length()); |
| 977 } | 977 } |
| 978 | 978 |
| 979 } // namespace test | 979 } // namespace test |
| 980 } // namespace net | 980 } // namespace net |
| OLD | NEW |