| Index: net/tools/quic/quic_time_wait_list_manager_test.cc
|
| diff --git a/net/tools/quic/quic_time_wait_list_manager_test.cc b/net/tools/quic/quic_time_wait_list_manager_test.cc
|
| index 42073146e7dacfbc16be966b46fed73c7779f46f..8f12c7eb675071284d9c4ef7640ca26e8be44088 100644
|
| --- a/net/tools/quic/quic_time_wait_list_manager_test.cc
|
| +++ b/net/tools/quic/quic_time_wait_list_manager_test.cc
|
| @@ -114,14 +114,22 @@ class QuicTimeWaitListManagerTest : public ::testing::Test {
|
| }
|
|
|
| void AddConnectionId(QuicConnectionId connection_id) {
|
| - AddConnectionId(connection_id, QuicVersionMax(), nullptr);
|
| + AddConnectionId(connection_id, QuicVersionMax(),
|
| + /*connection_rejected_statelessly=*/false, nullptr);
|
| + }
|
| +
|
| + void AddStatelessConnectionId(QuicConnectionId connection_id) {
|
| + time_wait_list_manager_.AddConnectionIdToTimeWait(
|
| + connection_id, QuicVersionMax(),
|
| + /*connection_rejected_statelessly=*/true, nullptr);
|
| }
|
|
|
| void AddConnectionId(QuicConnectionId connection_id,
|
| QuicVersion version,
|
| + bool connection_rejected_statelessly,
|
| QuicEncryptedPacket* packet) {
|
| time_wait_list_manager_.AddConnectionIdToTimeWait(
|
| - connection_id, version, packet);
|
| + connection_id, version, connection_rejected_statelessly, packet);
|
| }
|
|
|
| bool IsConnectionIdInTimeWait(QuicConnectionId connection_id) {
|
| @@ -231,14 +239,21 @@ TEST_F(QuicTimeWaitListManagerTest, CheckConnectionIdInTimeWait) {
|
| EXPECT_TRUE(IsConnectionIdInTimeWait(connection_id_));
|
| }
|
|
|
| +TEST_F(QuicTimeWaitListManagerTest, CheckStatelessConnectionIdInTimeWait) {
|
| + EXPECT_FALSE(IsConnectionIdInTimeWait(connection_id_));
|
| + EXPECT_CALL(visitor_, OnConnectionAddedToTimeWaitList(connection_id_));
|
| + AddStatelessConnectionId(connection_id_);
|
| + EXPECT_EQ(1u, time_wait_list_manager_.num_connections());
|
| + EXPECT_TRUE(IsConnectionIdInTimeWait(connection_id_));
|
| +}
|
| +
|
| TEST_F(QuicTimeWaitListManagerTest, SendConnectionClose) {
|
| const size_t kConnectionCloseLength = 100;
|
| EXPECT_CALL(visitor_, OnConnectionAddedToTimeWaitList(connection_id_));
|
| - AddConnectionId(
|
| - connection_id_,
|
| - QuicVersionMax(),
|
| - new QuicEncryptedPacket(
|
| - new char[kConnectionCloseLength], kConnectionCloseLength, true));
|
| + AddConnectionId(connection_id_, QuicVersionMax(),
|
| + /*connection_rejected_statelessly=*/false,
|
| + new QuicEncryptedPacket(new char[kConnectionCloseLength],
|
| + kConnectionCloseLength, true));
|
| const int kRandomSequenceNumber = 1;
|
| EXPECT_CALL(writer_, WritePacket(_, kConnectionCloseLength,
|
| server_address_.address(),
|
| @@ -283,6 +298,13 @@ TEST_F(QuicTimeWaitListManagerTest, SendPublicResetWithExponentialBackOff) {
|
| }
|
| }
|
|
|
| +TEST_F(QuicTimeWaitListManagerTest, NoPublicResetForStatelessConnections) {
|
| + EXPECT_CALL(visitor_, OnConnectionAddedToTimeWaitList(connection_id_));
|
| + AddStatelessConnectionId(connection_id_);
|
| + const int kRandomSequenceNumber = 1;
|
| + ProcessPacket(connection_id_, kRandomSequenceNumber);
|
| +}
|
| +
|
| TEST_F(QuicTimeWaitListManagerTest, CleanUpOldConnectionIds) {
|
| const size_t kConnectionIdCount = 100;
|
| const size_t kOldConnectionIdCount = 31;
|
| @@ -406,9 +428,12 @@ TEST_F(QuicTimeWaitListManagerTest, GetQuicVersionFromMap) {
|
| EXPECT_CALL(visitor_, OnConnectionAddedToTimeWaitList(kConnectionId1));
|
| EXPECT_CALL(visitor_, OnConnectionAddedToTimeWaitList(kConnectionId2));
|
| EXPECT_CALL(visitor_, OnConnectionAddedToTimeWaitList(kConnectionId3));
|
| - AddConnectionId(kConnectionId1, QuicVersionMin(), nullptr);
|
| - AddConnectionId(kConnectionId2, QuicVersionMax(), nullptr);
|
| - AddConnectionId(kConnectionId3, QuicVersionMax(), nullptr);
|
| + AddConnectionId(kConnectionId1, QuicVersionMin(),
|
| + /*connection_rejected_statelessly=*/false, nullptr);
|
| + AddConnectionId(kConnectionId2, QuicVersionMax(),
|
| + /*connection_rejected_statelessly=*/false, nullptr);
|
| + AddConnectionId(kConnectionId3, QuicVersionMax(),
|
| + /*connection_rejected_statelessly=*/false, nullptr);
|
|
|
| EXPECT_EQ(QuicVersionMin(),
|
| QuicTimeWaitListManagerPeer::GetQuicVersionFromConnectionId(
|
| @@ -428,11 +453,10 @@ TEST_F(QuicTimeWaitListManagerTest, AddConnectionIdTwice) {
|
| AddConnectionId(connection_id_);
|
| EXPECT_TRUE(IsConnectionIdInTimeWait(connection_id_));
|
| const size_t kConnectionCloseLength = 100;
|
| - AddConnectionId(
|
| - connection_id_,
|
| - QuicVersionMax(),
|
| - new QuicEncryptedPacket(
|
| - new char[kConnectionCloseLength], kConnectionCloseLength, true));
|
| + AddConnectionId(connection_id_, QuicVersionMax(),
|
| + /*connection_rejected_statelessly=*/false,
|
| + new QuicEncryptedPacket(new char[kConnectionCloseLength],
|
| + kConnectionCloseLength, true));
|
| EXPECT_TRUE(IsConnectionIdInTimeWait(connection_id_));
|
| EXPECT_EQ(1u, time_wait_list_manager_.num_connections());
|
|
|
|
|