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

Unified Diff: net/quic/quic_sent_packet_manager_test.cc

Issue 559373003: Landing Recent QUIC Changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compiler errors Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/quic_sent_packet_manager.cc ('k') | net/quic/quic_server_session.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 09720606ab9b5b1ea5f9270bcdeb811961fb49ac..8a386bfd0d0c7db6dd41837ae0c2a9cb3e4d6268 100644
--- a/net/quic/quic_sent_packet_manager_test.cc
+++ b/net/quic/quic_sent_packet_manager_test.cc
@@ -607,11 +607,11 @@ TEST_F(QuicSentPacketManagerTest, AckPreviousTransmissionThenTruncatedAck) {
RetransmitAndSendPacket(1, 2);
RetransmitAndSendPacket(2, 3);
RetransmitAndSendPacket(3, 4);
- manager_.OnSerializedPacket(CreateDataPacket(5));
- manager_.OnSerializedPacket(CreateDataPacket(6));
- manager_.OnSerializedPacket(CreateDataPacket(7));
- manager_.OnSerializedPacket(CreateDataPacket(8));
- manager_.OnSerializedPacket(CreateDataPacket(9));
+ SendDataPacket(5);
+ SendDataPacket(6);
+ SendDataPacket(7);
+ SendDataPacket(8);
+ SendDataPacket(9);
// Ack previous transmission
{
@@ -632,7 +632,7 @@ TEST_F(QuicSentPacketManagerTest, AckPreviousTransmissionThenTruncatedAck) {
ack_frame.missing_packets.insert(5);
ack_frame.missing_packets.insert(6);
ack_frame.is_truncated = true;
- ExpectAckAndLoss(false, 1, 3);
+ ExpectAckAndLoss(true, 1, 3);
manager_.OnIncomingAck(ack_frame, clock_.Now());
}
@@ -664,28 +664,27 @@ TEST_F(QuicSentPacketManagerTest, GetLeastUnackedUnackedFec) {
TEST_F(QuicSentPacketManagerTest, GetLeastUnackedAndDiscard) {
VerifyUnackedPackets(NULL, 0);
- SerializedPacket serialized_packet(CreateFecPacket(1));
- manager_.OnSerializedPacket(serialized_packet);
+ SendFecPacket(1);
EXPECT_EQ(1u, manager_.GetLeastUnacked());
- SerializedPacket serialized_packet2(CreateFecPacket(2));
- manager_.OnSerializedPacket(serialized_packet2);
+ SendFecPacket(2);
EXPECT_EQ(1u, manager_.GetLeastUnacked());
- SerializedPacket serialized_packet3(CreateFecPacket(3));
- manager_.OnSerializedPacket(serialized_packet3);
+ SendFecPacket(3);
EXPECT_EQ(1u, manager_.GetLeastUnacked());
QuicPacketSequenceNumber unacked[] = { 1, 2, 3 };
VerifyUnackedPackets(unacked, arraysize(unacked));
VerifyRetransmittablePackets(NULL, 0);
- // Ack 2, which has never been sent, so there's no rtt update.
+ // Ack 2, so there's an rtt update.
+ ExpectAck(2);
QuicAckFrame ack_frame;
ack_frame.largest_observed = 2;
+ ack_frame.missing_packets.insert(1);
manager_.OnIncomingAck(ack_frame, clock_.Now());
- EXPECT_EQ(3u, manager_.GetLeastUnacked());
+ EXPECT_EQ(1u, manager_.GetLeastUnacked());
}
TEST_F(QuicSentPacketManagerTest, GetSentTime) {
@@ -975,7 +974,7 @@ TEST_F(QuicSentPacketManagerTest, CryptoHandshakeTimeoutVersionNegotiation) {
// Now act like a version negotiation packet arrived, which would cause all
// unacked packets to be retransmitted.
- manager_.RetransmitUnackedPackets(ALL_PACKETS);
+ manager_.RetransmitUnackedPackets(ALL_UNACKED_RETRANSMISSION);
// Ensure the first two pending packets are the crypto retransmits.
ASSERT_TRUE(manager_.HasPendingRetransmissions());
@@ -985,6 +984,13 @@ TEST_F(QuicSentPacketManagerTest, CryptoHandshakeTimeoutVersionNegotiation) {
RetransmitNextPacket(9);
EXPECT_TRUE(manager_.HasPendingRetransmissions());
+ // Send 3 more data packets and ensure the least unacked is raised.
+ RetransmitNextPacket(10);
+ RetransmitNextPacket(11);
+ RetransmitNextPacket(12);
+ EXPECT_FALSE(manager_.HasPendingRetransmissions());
+
+ EXPECT_EQ(8u, manager_.GetLeastUnacked());
}
TEST_F(QuicSentPacketManagerTest, CryptoHandshakeSpuriousRetransmission) {
@@ -1043,7 +1049,7 @@ TEST_F(QuicSentPacketManagerTest,
// Now retransmit all the unacked packets, which occurs when there is a
// version negotiation.
- manager_.RetransmitUnackedPackets(ALL_PACKETS);
+ manager_.RetransmitUnackedPackets(ALL_UNACKED_RETRANSMISSION);
QuicPacketSequenceNumber unacked[] = { 1, 2 };
VerifyUnackedPackets(unacked, arraysize(unacked));
EXPECT_TRUE(manager_.HasPendingRetransmissions());
@@ -1443,6 +1449,23 @@ TEST_F(QuicSentPacketManagerTest, NegotiatePacingFromOptions) {
EXPECT_TRUE(manager_.using_pacing());
}
+TEST_F(QuicSentPacketManagerTest, UseInitialRoundTripTimeToSend) {
+ uint32 initial_rtt_us = 325000;
+ EXPECT_NE(initial_rtt_us,
+ manager_.GetRttStats()->SmoothedRtt().ToMicroseconds());
+
+ QuicConfig config;
+ config.SetInitialRoundTripTimeUsToSend(initial_rtt_us);
+ EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
+ EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange(_));
+ EXPECT_CALL(*send_algorithm_, GetCongestionWindow())
+ .WillOnce(Return(100 * kDefaultTCPMSS));
+ manager_.SetFromConfig(config);
+
+ EXPECT_EQ(initial_rtt_us,
+ manager_.GetRttStats()->SmoothedRtt().ToMicroseconds());
+}
+
} // namespace
} // namespace test
} // namespace net
« no previous file with comments | « net/quic/quic_sent_packet_manager.cc ('k') | net/quic/quic_server_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698