| Index: net/quic/quic_sent_packet_manager_test.cc
|
| diff --git a/net/quic/quic_sent_packet_manager_test.cc b/net/quic/quic_sent_packet_manager_test.cc
|
| index d7a846af2a1ce2236417cab1171e45275d4647e4..d71012067ba2b0cc0d3f1b745aab85d588f8fad1 100644
|
| --- a/net/quic/quic_sent_packet_manager_test.cc
|
| +++ b/net/quic/quic_sent_packet_manager_test.cc
|
| @@ -45,7 +45,7 @@ class MockDebugDelegate : public QuicSentPacketManager::DebugDelegate {
|
| class QuicSentPacketManagerTest : public ::testing::TestWithParam<bool> {
|
| protected:
|
| QuicSentPacketManagerTest()
|
| - : manager_(true, &clock_, &stats_, kCubic, kNack),
|
| + : manager_(true, &clock_, &stats_, kCubic, kNack, false),
|
| send_algorithm_(new StrictMock<MockSendAlgorithm>),
|
| network_change_visitor_(new StrictMock<MockNetworkChangeVisitor>) {
|
| QuicSentPacketManagerPeer::SetSendAlgorithm(&manager_, send_algorithm_);
|
| @@ -1080,12 +1080,12 @@ TEST_F(QuicSentPacketManagerTest, GetTransmissionTimeCryptoHandshake) {
|
|
|
| // Check the min.
|
| RttStats* rtt_stats = QuicSentPacketManagerPeer::GetRttStats(&manager_);
|
| - rtt_stats->set_initial_rtt_us(1 * base::Time::kMicrosecondsPerMillisecond);
|
| + rtt_stats->set_initial_rtt_us(1 * kNumMicrosPerMilli);
|
| EXPECT_EQ(clock_.Now().Add(QuicTime::Delta::FromMilliseconds(10)),
|
| manager_.GetRetransmissionTime());
|
|
|
| // Test with a standard smoothed RTT.
|
| - rtt_stats->set_initial_rtt_us(100 * base::Time::kMicrosecondsPerMillisecond);
|
| + rtt_stats->set_initial_rtt_us(100 * kNumMicrosPerMilli);
|
|
|
| QuicTime::Delta srtt =
|
| QuicTime::Delta::FromMicroseconds(rtt_stats->initial_rtt_us());
|
| @@ -1109,12 +1109,12 @@ TEST_F(QuicSentPacketManagerTest, GetTransmissionTimeTailLossProbe) {
|
|
|
| // Check the min.
|
| RttStats* rtt_stats = QuicSentPacketManagerPeer::GetRttStats(&manager_);
|
| - rtt_stats->set_initial_rtt_us(1 * base::Time::kMicrosecondsPerMillisecond);
|
| + rtt_stats->set_initial_rtt_us(1 * kNumMicrosPerMilli);
|
| EXPECT_EQ(clock_.Now().Add(QuicTime::Delta::FromMilliseconds(10)),
|
| manager_.GetRetransmissionTime());
|
|
|
| // Test with a standard smoothed RTT.
|
| - rtt_stats->set_initial_rtt_us(100 * base::Time::kMicrosecondsPerMillisecond);
|
| + rtt_stats->set_initial_rtt_us(100 * kNumMicrosPerMilli);
|
| QuicTime::Delta srtt =
|
| QuicTime::Delta::FromMicroseconds(rtt_stats->initial_rtt_us());
|
| QuicTime::Delta expected_tlp_delay = srtt.Multiply(2);
|
| @@ -1277,7 +1277,7 @@ TEST_F(QuicSentPacketManagerTest, NegotiateTimeLossDetectionFromOptions) {
|
| QuicTagVector options;
|
| options.push_back(kTIME);
|
| QuicConfigPeer::SetReceivedConnectionOptions(&config, options);
|
| - EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
|
| + EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _, _));
|
| EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange());
|
| manager_.SetFromConfig(config);
|
|
|
| @@ -1318,7 +1318,7 @@ TEST_F(QuicSentPacketManagerTest, NegotiateNumConnectionsFromOptions) {
|
| QuicConfigPeer::SetReceivedConnectionOptions(&config, options);
|
| EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange());
|
| EXPECT_CALL(*send_algorithm_, SetNumEmulatedConnections(1));
|
| - EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
|
| + EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _, _));
|
| manager_.SetFromConfig(config);
|
|
|
| QuicSentPacketManagerPeer::SetIsServer(&manager_, false);
|
| @@ -1326,7 +1326,7 @@ TEST_F(QuicSentPacketManagerTest, NegotiateNumConnectionsFromOptions) {
|
| client_config.SetConnectionOptionsToSend(options);
|
| EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange());
|
| EXPECT_CALL(*send_algorithm_, SetNumEmulatedConnections(1));
|
| - EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
|
| + EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _, _));
|
| manager_.SetFromConfig(client_config);
|
| }
|
|
|
| @@ -1340,7 +1340,7 @@ TEST_F(QuicSentPacketManagerTest, NegotiateNConnectionFromOptions) {
|
| options.push_back(kNCON);
|
| QuicConfigPeer::SetReceivedConnectionOptions(&config, options);
|
| EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange());
|
| - EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
|
| + EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _, _));
|
| manager_.SetFromConfig(config);
|
|
|
| EXPECT_CALL(*send_algorithm_, SetNumEmulatedConnections(5));
|
| @@ -1354,7 +1354,7 @@ TEST_F(QuicSentPacketManagerTest, NegotiateNoTLPFromOptionsAtServer) {
|
| options.push_back(kNTLP);
|
| QuicConfigPeer::SetReceivedConnectionOptions(&config, options);
|
| EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange());
|
| - EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
|
| + EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _, _));
|
| manager_.SetFromConfig(config);
|
| EXPECT_EQ(0u, QuicSentPacketManagerPeer::GetMaxTailLossProbes(&manager_));
|
| }
|
| @@ -1367,7 +1367,7 @@ TEST_F(QuicSentPacketManagerTest, NegotiateNoTLPFromOptionsAtClient) {
|
| QuicSentPacketManagerPeer::SetIsServer(&manager_, false);
|
| client_config.SetConnectionOptionsToSend(options);
|
| EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange());
|
| - EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
|
| + EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _, _));
|
| manager_.SetFromConfig(client_config);
|
| EXPECT_EQ(0u, QuicSentPacketManagerPeer::GetMaxTailLossProbes(&manager_));
|
| }
|
| @@ -1380,7 +1380,7 @@ TEST_F(QuicSentPacketManagerTest, NegotiatePacingFromOptions) {
|
| options.push_back(kPACE);
|
| QuicConfigPeer::SetReceivedConnectionOptions(&config, options);
|
| EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange());
|
| - EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
|
| + EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _, /* using_pacing= */ true));
|
| manager_.SetFromConfig(config);
|
|
|
| EXPECT_TRUE(manager_.using_pacing());
|
| @@ -1393,7 +1393,7 @@ TEST_F(QuicSentPacketManagerTest, NegotiateReceiveWindowFromOptions) {
|
| // Try to set a size below the minimum and ensure it gets set to the min.
|
| QuicConfig client_config;
|
| QuicConfigPeer::SetReceivedSocketReceiveBuffer(&client_config, 1024);
|
| - EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
|
| + EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _, _));
|
| EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange());
|
| manager_.SetFromConfig(client_config);
|
|
|
| @@ -1417,6 +1417,27 @@ TEST_F(QuicSentPacketManagerTest, NegotiateReceiveWindowFromOptions) {
|
| manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
|
| }
|
|
|
| +TEST_F(QuicSentPacketManagerTest, ReceiveWindowLimited) {
|
| + EXPECT_EQ(kDefaultSocketReceiveBuffer,
|
| + QuicSentPacketManagerPeer::GetReceiveWindow(&manager_));
|
| +
|
| + // Ensure the smaller send window only allows 256 * 0.95 packets to be sent.
|
| + for (QuicPacketSequenceNumber i = 1; i <= 244; ++i) {
|
| + EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)).WillOnce(Return(
|
| + QuicTime::Delta::Zero()));
|
| + EXPECT_EQ(QuicTime::Delta::Zero(),
|
| + manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
|
| + EXPECT_CALL(*send_algorithm_, OnPacketSent(_, BytesInFlight(), i,
|
| + 1024, HAS_RETRANSMITTABLE_DATA))
|
| + .WillOnce(Return(true));
|
| + SerializedPacket packet(CreatePacket(i, true));
|
| + manager_.OnPacketSent(&packet, 0, clock_.Now(), 1024,
|
| + NOT_RETRANSMISSION, HAS_RETRANSMITTABLE_DATA);
|
| + }
|
| + EXPECT_EQ(QuicTime::Delta::Infinite(),
|
| + manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
|
| +}
|
| +
|
| TEST_F(QuicSentPacketManagerTest, UseInitialRoundTripTimeToSend) {
|
| uint32 initial_rtt_us = 325000;
|
| EXPECT_NE(initial_rtt_us,
|
| @@ -1424,7 +1445,7 @@ TEST_F(QuicSentPacketManagerTest, UseInitialRoundTripTimeToSend) {
|
|
|
| QuicConfig config;
|
| config.SetInitialRoundTripTimeUsToSend(initial_rtt_us);
|
| - EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
|
| + EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _, _));
|
| EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange());
|
| manager_.SetFromConfig(config);
|
|
|
|
|