summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_sent_packet_manager_test.cc
diff options
context:
space:
mode:
authormek@chromium.org <mek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-09 23:58:14 +0000
committermek@chromium.org <mek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-09 23:58:14 +0000
commit573ebcb35b5e92124a5de20131fbedeab26ebf12 (patch)
treefc7f87d7083dff8afb67b6e5a8d5ab5ebfdf6225 /net/quic/quic_sent_packet_manager_test.cc
parent5733b22124b90e9ad8dd5045e9acc173d1545755 (diff)
downloadchromium_src-573ebcb35b5e92124a5de20131fbedeab26ebf12.zip
chromium_src-573ebcb35b5e92124a5de20131fbedeab26ebf12.tar.gz
chromium_src-573ebcb35b5e92124a5de20131fbedeab26ebf12.tar.bz2
Revert 227827 "Land Recent QUIC changes."
Causing problem for Linux ASAN: http://build.chromium.org/p/chromium.memory/buildstatus?builder=Linux%20ASAN%20Tests%20%281%29&number=19137 > Land Recent QUIC changes. > > Addressing comments in Jana's review of cr/52231261. > > Merge internal change: 53582401 > > Add a temporary legacy quic constructor > > Merge internal change: 53506960 > > QUIC: disable P-256 support on the server. > > The P-256 key generation is done with OpenSSL, which doesn't use the > QuicRandom passed to DefaultConfig(). This is causing the generated > server configs to be non-deterministic and breaking 0-RTT handshakes. > > Merge internal change: 53501783 > > Fix an LOG to use the correct condition in QuicReceivedPacketManager and > change it to a DFATAL so in the future tests will prevent re-occurrence. > > Merge internal change: 53483753 > > Cleanup: Rename OnIncomingAck to OnPacketAcked, and remove unneeeded > argument from SentPacketManager::OnIncomingAck. > > Merge internal change: 53483155 > > Fix a bug in QuicConnection/QuicConnectionHelper if the helper buffered > the write (as is the case in chrome). In this case, the sent packet was > not accounted for properly. > > Merge internal change: 53462749 > > Refactor to change WritePacket to return a WriteResult struct. > > Merge internal change: 53382221 > > Fixing a bug where the version negotiation packet would get dropped on > the floor if the socket was write blocked at the time it was sent. The > packet is now queued. > > Merge internal change: 53317846 > > Create a new QUIC_INVALID_CHANNEL_ID_SIGNATURE error to replace a usage > of QUIC_INTERNAL_ERROR. > > Merge internal change: 53277933 > > Added a todo to merge internal CL 53267501 when chromium's version of > OpenSSL has latest AEAD code. > > Didn't merge internal change: 53267501 > > R=rch@chromium.org > > Review URL: https://codereview.chromium.org/26385004 TBR=rtenneti@chromium.org Review URL: https://codereview.chromium.org/26666003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227837 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_sent_packet_manager_test.cc')
-rw-r--r--net/quic/quic_sent_packet_manager_test.cc39
1 files changed, 28 insertions, 11 deletions
diff --git a/net/quic/quic_sent_packet_manager_test.cc b/net/quic/quic_sent_packet_manager_test.cc
index 201d9a1..bfd4d4a 100644
--- a/net/quic/quic_sent_packet_manager_test.cc
+++ b/net/quic/quic_sent_packet_manager_test.cc
@@ -170,11 +170,14 @@ TEST_P(QuicSentPacketManagerTest, RetransmitThenAck) {
ReceivedPacketInfo received_info;
received_info.largest_observed = 2;
received_info.missing_packets.insert(1);
- manager_.OnIncomingAck(received_info, false);
+ SequenceNumberSet acked;
+ manager_.OnIncomingAck(received_info, false, &acked);
// No unacked packets remain.
VerifyUnackedPackets(NULL, 0);
VerifyRetransmittablePackets(NULL, 0);
+ QuicPacketSequenceNumber expected_acked[] = { 2 };
+ VerifyAckedPackets(expected_acked, arraysize(expected_acked), acked);
}
TEST_P(QuicSentPacketManagerTest, RetransmitThenAckBeforeSend) {
@@ -187,7 +190,8 @@ TEST_P(QuicSentPacketManagerTest, RetransmitThenAckBeforeSend) {
// Ack 1.
ReceivedPacketInfo received_info;
received_info.largest_observed = 1;
- manager_.OnIncomingAck(received_info, false);
+ SequenceNumberSet acked;
+ manager_.OnIncomingAck(received_info, false, &acked);
// There should no longer be a pending retransmission.
EXPECT_FALSE(manager_.HasPendingRetransmissions());
@@ -195,6 +199,8 @@ TEST_P(QuicSentPacketManagerTest, RetransmitThenAckBeforeSend) {
// No unacked packets remain.
VerifyUnackedPackets(NULL, 0);
VerifyRetransmittablePackets(NULL, 0);
+ QuicPacketSequenceNumber expected_acked[] = { 1 };
+ VerifyAckedPackets(expected_acked, arraysize(expected_acked), acked);
}
TEST_P(QuicSentPacketManagerTest, RetransmitThenAckPrevious) {
@@ -211,13 +217,16 @@ TEST_P(QuicSentPacketManagerTest, RetransmitThenAckPrevious) {
ReceivedPacketInfo received_info;
received_info.largest_observed = 2;
received_info.missing_packets.insert(2);
+ SequenceNumberSet acked;
EXPECT_CALL(helper_, OnPacketNacked(2, 1)).Times(1);
- manager_.OnIncomingAck(received_info, false);
+ manager_.OnIncomingAck(received_info, false, &acked);
// 2 remains unacked, but no packets have retransmittable data.
QuicPacketSequenceNumber unacked[] = { 2 };
VerifyUnackedPackets(unacked, arraysize(unacked));
VerifyRetransmittablePackets(NULL, 0);
+ QuicPacketSequenceNumber expected_acked[] = { 2 };
+ VerifyAckedPackets(expected_acked, arraysize(expected_acked), acked);
}
TEST_P(QuicSentPacketManagerTest, TruncatedAck) {
@@ -237,7 +246,8 @@ TEST_P(QuicSentPacketManagerTest, TruncatedAck) {
received_info.largest_observed = 2;
received_info.missing_packets.insert(1);
received_info.missing_packets.insert(2);
- manager_.OnIncomingAck(received_info, true);
+ SequenceNumberSet acked;
+ manager_.OnIncomingAck(received_info, true, &acked);
// High water mark will be raised.
QuicPacketSequenceNumber unacked[] = { 2, 3, 4 };
@@ -260,8 +270,9 @@ TEST_P(QuicSentPacketManagerTest, SendDropAckRetransmitManyPackets) {
ReceivedPacketInfo received_info;
received_info.largest_observed = 3;
received_info.missing_packets.insert(2);
+ SequenceNumberSet acked;
EXPECT_CALL(helper_, OnPacketNacked(2, 1)).Times(1);
- manager_.OnIncomingAck(received_info, false);
+ manager_.OnIncomingAck(received_info, false, &acked);
QuicPacketSequenceNumber unacked[] = { 2 };
VerifyUnackedPackets(unacked, arraysize(unacked));
@@ -278,9 +289,10 @@ TEST_P(QuicSentPacketManagerTest, SendDropAckRetransmitManyPackets) {
received_info.largest_observed = 5;
received_info.missing_packets.insert(2);
received_info.missing_packets.insert(4);
+ SequenceNumberSet acked;
EXPECT_CALL(helper_, OnPacketNacked(2, 2)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(4, 1)).Times(1);
- manager_.OnIncomingAck(received_info, false);
+ manager_.OnIncomingAck(received_info, false, &acked);
QuicPacketSequenceNumber unacked[] = { 2, 4 };
VerifyUnackedPackets(unacked, arraysize(unacked));
@@ -298,10 +310,11 @@ TEST_P(QuicSentPacketManagerTest, SendDropAckRetransmitManyPackets) {
received_info.missing_packets.insert(2);
received_info.missing_packets.insert(4);
received_info.missing_packets.insert(6);
+ SequenceNumberSet acked;
EXPECT_CALL(helper_, OnPacketNacked(2, 3)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(4, 2)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(6, 1)).Times(1);
- manager_.OnIncomingAck(received_info, false);
+ manager_.OnIncomingAck(received_info, false, &acked);
QuicPacketSequenceNumber unacked[] = { 2, 4, 6 };
VerifyUnackedPackets(unacked, arraysize(unacked));
@@ -322,11 +335,12 @@ TEST_P(QuicSentPacketManagerTest, SendDropAckRetransmitManyPackets) {
received_info.missing_packets.insert(6);
received_info.missing_packets.insert(8);
received_info.missing_packets.insert(9);
+ SequenceNumberSet acked;
EXPECT_CALL(helper_, OnPacketNacked(4, 3)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(6, 2)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(8, 1)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(9, 1)).Times(1);
- manager_.OnIncomingAck(received_info, false);
+ manager_.OnIncomingAck(received_info, false, &acked);
QuicPacketSequenceNumber unacked[] = { 2, 4, 6, 8, 9 };
VerifyUnackedPackets(unacked, arraysize(unacked));
@@ -350,12 +364,13 @@ TEST_P(QuicSentPacketManagerTest, SendDropAckRetransmitManyPackets) {
received_info.missing_packets.insert(9);
received_info.missing_packets.insert(11);
received_info.missing_packets.insert(12);
+ SequenceNumberSet acked;
EXPECT_CALL(helper_, OnPacketNacked(6, 3)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(8, 2)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(9, 2)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(11, 1)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(12, 1)).Times(1);
- manager_.OnIncomingAck(received_info, false);
+ manager_.OnIncomingAck(received_info, false, &acked);
QuicPacketSequenceNumber unacked[] = { 2, 4, 6, 8, 9, 11, 12 };
VerifyUnackedPackets(unacked, arraysize(unacked));
@@ -378,11 +393,12 @@ TEST_P(QuicSentPacketManagerTest, SendDropAckRetransmitManyPackets) {
received_info.missing_packets.insert(9);
received_info.missing_packets.insert(11);
received_info.missing_packets.insert(12);
+ SequenceNumberSet acked;
EXPECT_CALL(helper_, OnPacketNacked(8, 3)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(9, 3)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(11, 2)).Times(1);
EXPECT_CALL(helper_, OnPacketNacked(12, 2)).Times(1);
- manager_.OnIncomingAck(received_info, true);
+ manager_.OnIncomingAck(received_info, true, &acked);
// Truncated ack raises the high water mark by clearing out 2, 4, and 6.
QuicPacketSequenceNumber unacked[] = { 8, 9, 11, 12, 14, 15, 16 };
@@ -446,7 +462,8 @@ TEST_P(QuicSentPacketManagerTest, GetLeastUnackedFecPacketAndDiscard) {
// Ack 2.
ReceivedPacketInfo received_info;
received_info.largest_observed = 2;
- manager_.OnIncomingAck(received_info, false);
+ SequenceNumberSet acked;
+ manager_.OnIncomingAck(received_info, false, &acked);
EXPECT_EQ(3u, manager_.GetLeastUnackedFecPacket());