OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_received_packet_manager.h" | 5 #include "net/quic/quic_received_packet_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "net/quic/test_tools/quic_received_packet_manager_peer.h" | 10 #include "net/quic/test_tools/quic_received_packet_manager_peer.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 class QuicReceivedPacketManagerTest : public ::testing::Test { | 22 class QuicReceivedPacketManagerTest : public ::testing::Test { |
23 protected: | 23 protected: |
24 QuicReceivedPacketManagerTest() : received_manager_(kTCP) { } | 24 QuicReceivedPacketManagerTest() : received_manager_(kTCP) { } |
25 | 25 |
26 void RecordPacketEntropyHash(QuicPacketSequenceNumber sequence_number, | 26 void RecordPacketEntropyHash(QuicPacketSequenceNumber sequence_number, |
27 QuicPacketEntropyHash entropy_hash) { | 27 QuicPacketEntropyHash entropy_hash) { |
28 QuicPacketHeader header; | 28 QuicPacketHeader header; |
29 header.packet_sequence_number = sequence_number; | 29 header.packet_sequence_number = sequence_number; |
30 header.entropy_hash = entropy_hash; | 30 header.entropy_hash = entropy_hash; |
31 received_manager_.RecordPacketReceived(0u, header, QuicTime::Zero(), false); | 31 received_manager_.RecordPacketReceived(0u, header, QuicTime::Zero()); |
32 } | 32 } |
33 | 33 |
34 QuicReceivedPacketManager received_manager_; | 34 QuicReceivedPacketManager received_manager_; |
35 }; | 35 }; |
36 | 36 |
37 TEST_F(QuicReceivedPacketManagerTest, ReceivedPacketEntropyHash) { | 37 TEST_F(QuicReceivedPacketManagerTest, ReceivedPacketEntropyHash) { |
38 vector<pair<QuicPacketSequenceNumber, QuicPacketEntropyHash> > entropies; | 38 vector<pair<QuicPacketSequenceNumber, QuicPacketEntropyHash> > entropies; |
39 entropies.push_back(make_pair(1, 12)); | 39 entropies.push_back(make_pair(1, 12)); |
40 entropies.push_back(make_pair(7, 1)); | 40 entropies.push_back(make_pair(7, 1)); |
41 entropies.push_back(make_pair(2, 33)); | 41 entropies.push_back(make_pair(2, 33)); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 EXPECT_EQ(entropy_hash, received_manager_.EntropyHash(6)); | 98 EXPECT_EQ(entropy_hash, received_manager_.EntropyHash(6)); |
99 | 99 |
100 QuicReceivedPacketManagerPeer::RecalculateEntropyHash( | 100 QuicReceivedPacketManagerPeer::RecalculateEntropyHash( |
101 &received_manager_, 1, 50); | 101 &received_manager_, 1, 50); |
102 EXPECT_EQ(entropy_hash, received_manager_.EntropyHash(6)); | 102 EXPECT_EQ(entropy_hash, received_manager_.EntropyHash(6)); |
103 } | 103 } |
104 | 104 |
105 TEST_F(QuicReceivedPacketManagerTest, DontWaitForPacketsBefore) { | 105 TEST_F(QuicReceivedPacketManagerTest, DontWaitForPacketsBefore) { |
106 QuicPacketHeader header; | 106 QuicPacketHeader header; |
107 header.packet_sequence_number = 2u; | 107 header.packet_sequence_number = 2u; |
108 received_manager_.RecordPacketReceived(0u, header, QuicTime::Zero(), false); | 108 received_manager_.RecordPacketReceived(0u, header, QuicTime::Zero()); |
109 header.packet_sequence_number = 7u; | 109 header.packet_sequence_number = 7u; |
110 received_manager_.RecordPacketReceived(0u, header, QuicTime::Zero(), false); | 110 received_manager_.RecordPacketReceived(0u, header, QuicTime::Zero()); |
111 EXPECT_TRUE(received_manager_.IsAwaitingPacket(3u)); | 111 EXPECT_TRUE(received_manager_.IsAwaitingPacket(3u)); |
112 EXPECT_TRUE(received_manager_.IsAwaitingPacket(6u)); | 112 EXPECT_TRUE(received_manager_.IsAwaitingPacket(6u)); |
113 EXPECT_TRUE(QuicReceivedPacketManagerPeer::DontWaitForPacketsBefore( | 113 EXPECT_TRUE(QuicReceivedPacketManagerPeer::DontWaitForPacketsBefore( |
114 &received_manager_, 4)); | 114 &received_manager_, 4)); |
115 EXPECT_FALSE(received_manager_.IsAwaitingPacket(3u)); | 115 EXPECT_FALSE(received_manager_.IsAwaitingPacket(3u)); |
116 EXPECT_TRUE(received_manager_.IsAwaitingPacket(6u)); | 116 EXPECT_TRUE(received_manager_.IsAwaitingPacket(6u)); |
117 } | 117 } |
118 | 118 |
119 TEST_F(QuicReceivedPacketManagerTest, UpdateReceivedPacketInfo) { | 119 TEST_F(QuicReceivedPacketManagerTest, UpdateReceivedPacketInfo) { |
120 QuicPacketHeader header; | 120 QuicPacketHeader header; |
121 header.packet_sequence_number = 2u; | 121 header.packet_sequence_number = 2u; |
122 QuicTime two_ms = QuicTime::Zero().Add(QuicTime::Delta::FromMilliseconds(2)); | 122 QuicTime two_ms = QuicTime::Zero().Add(QuicTime::Delta::FromMilliseconds(2)); |
123 received_manager_.RecordPacketReceived(0u, header, two_ms, false); | 123 received_manager_.RecordPacketReceived(0u, header, two_ms); |
124 | 124 |
125 ReceivedPacketInfo info; | 125 ReceivedPacketInfo info; |
126 received_manager_.UpdateReceivedPacketInfo(&info, QuicTime::Zero()); | 126 received_manager_.UpdateReceivedPacketInfo(&info, QuicTime::Zero()); |
127 // When UpdateReceivedPacketInfo with a time earlier than the time of the | 127 // When UpdateReceivedPacketInfo with a time earlier than the time of the |
128 // largest observed packet, make sure that the delta is 0, not negative. | 128 // largest observed packet, make sure that the delta is 0, not negative. |
129 EXPECT_EQ(QuicTime::Delta::Zero(), info.delta_time_largest_observed); | 129 EXPECT_EQ(QuicTime::Delta::Zero(), info.delta_time_largest_observed); |
130 | 130 |
131 QuicTime four_ms = QuicTime::Zero().Add(QuicTime::Delta::FromMilliseconds(4)); | 131 QuicTime four_ms = QuicTime::Zero().Add(QuicTime::Delta::FromMilliseconds(4)); |
132 received_manager_.UpdateReceivedPacketInfo(&info, four_ms); | 132 received_manager_.UpdateReceivedPacketInfo(&info, four_ms); |
133 // When UpdateReceivedPacketInfo after not having received a new packet, | 133 // When UpdateReceivedPacketInfo after not having received a new packet, |
134 // the delta should still be accurate. | 134 // the delta should still be accurate. |
135 EXPECT_EQ(QuicTime::Delta::FromMilliseconds(2), | 135 EXPECT_EQ(QuicTime::Delta::FromMilliseconds(2), |
136 info.delta_time_largest_observed); | 136 info.delta_time_largest_observed); |
137 } | 137 } |
138 | 138 |
139 } // namespace | 139 } // namespace |
140 } // namespace test | 140 } // namespace test |
141 } // namespace net | 141 } // namespace net |
OLD | NEW |