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/tools/quic/quic_time_wait_list_manager.h" | 5 #include "net/tools/quic/quic_time_wait_list_manager.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 | 8 |
9 #include "net/quic/crypto/crypto_protocol.h" | 9 #include "net/quic/crypto/crypto_protocol.h" |
10 #include "net/quic/crypto/null_encrypter.h" | 10 #include "net/quic/crypto/null_encrypter.h" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 QuicTimeWaitListManagerTest() | 79 QuicTimeWaitListManagerTest() |
80 : time_wait_list_manager_( | 80 : time_wait_list_manager_( |
81 &writer_, &epoll_server_, QuicSupportedVersions()), | 81 &writer_, &epoll_server_, QuicSupportedVersions()), |
82 framer_(QuicSupportedVersions(), QuicTime::Zero(), true), | 82 framer_(QuicSupportedVersions(), QuicTime::Zero(), true), |
83 guid_(45) { | 83 guid_(45) { |
84 } | 84 } |
85 | 85 |
86 virtual ~QuicTimeWaitListManagerTest() {} | 86 virtual ~QuicTimeWaitListManagerTest() {} |
87 | 87 |
88 void AddGuid(QuicGuid guid) { | 88 void AddGuid(QuicGuid guid) { |
89 AddGuid(guid, test::QuicVersionMax(), NULL); | 89 AddGuid(guid, net::test::QuicVersionMax(), NULL); |
90 } | 90 } |
91 | 91 |
92 void AddGuid(QuicGuid guid, | 92 void AddGuid(QuicGuid guid, |
93 QuicVersion version, | 93 QuicVersion version, |
94 QuicEncryptedPacket* packet) { | 94 QuicEncryptedPacket* packet) { |
95 time_wait_list_manager_.AddGuidToTimeWait(guid, version, packet); | 95 time_wait_list_manager_.AddGuidToTimeWait(guid, version, packet); |
96 } | 96 } |
97 | 97 |
98 bool IsGuidInTimeWait(QuicGuid guid) { | 98 bool IsGuidInTimeWait(QuicGuid guid) { |
99 return time_wait_list_manager_.IsGuidInTimeWait(guid); | 99 return time_wait_list_manager_.IsGuidInTimeWait(guid); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 | 189 |
190 TEST_F(QuicTimeWaitListManagerTest, CheckGuidInTimeWait) { | 190 TEST_F(QuicTimeWaitListManagerTest, CheckGuidInTimeWait) { |
191 EXPECT_FALSE(IsGuidInTimeWait(guid_)); | 191 EXPECT_FALSE(IsGuidInTimeWait(guid_)); |
192 AddGuid(guid_); | 192 AddGuid(guid_); |
193 EXPECT_TRUE(IsGuidInTimeWait(guid_)); | 193 EXPECT_TRUE(IsGuidInTimeWait(guid_)); |
194 } | 194 } |
195 | 195 |
196 TEST_F(QuicTimeWaitListManagerTest, SendConnectionClose) { | 196 TEST_F(QuicTimeWaitListManagerTest, SendConnectionClose) { |
197 size_t kConnectionCloseLength = 100; | 197 size_t kConnectionCloseLength = 100; |
198 AddGuid(guid_, | 198 AddGuid(guid_, |
199 QuicVersionMax(), | 199 net::test::QuicVersionMax(), |
200 new QuicEncryptedPacket( | 200 new QuicEncryptedPacket( |
201 new char[kConnectionCloseLength], kConnectionCloseLength, true)); | 201 new char[kConnectionCloseLength], kConnectionCloseLength, true)); |
202 const int kRandomSequenceNumber = 1; | 202 const int kRandomSequenceNumber = 1; |
203 scoped_ptr<QuicEncryptedPacket> packet( | 203 scoped_ptr<QuicEncryptedPacket> packet( |
204 ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, kRandomSequenceNumber)); | 204 ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, kRandomSequenceNumber)); |
205 EXPECT_CALL(writer_, WritePacket(_, kConnectionCloseLength, | 205 EXPECT_CALL(writer_, WritePacket(_, kConnectionCloseLength, |
206 server_address_.address(), | 206 server_address_.address(), |
207 client_address_, | 207 client_address_, |
208 &time_wait_list_manager_)) | 208 &time_wait_list_manager_)) |
209 .WillOnce(Return(WriteResult(WRITE_STATUS_OK, 1))); | 209 .WillOnce(Return(WriteResult(WRITE_STATUS_OK, 1))); |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 other_packet->length()))); | 385 other_packet->length()))); |
386 time_wait_list_manager_.OnCanWrite(); | 386 time_wait_list_manager_.OnCanWrite(); |
387 EXPECT_FALSE( | 387 EXPECT_FALSE( |
388 QuicTimeWaitListManagerPeer::is_write_blocked(&time_wait_list_manager_)); | 388 QuicTimeWaitListManagerPeer::is_write_blocked(&time_wait_list_manager_)); |
389 } | 389 } |
390 | 390 |
391 TEST_F(QuicTimeWaitListManagerTest, MakeSureFramerUsesCorrectVersion) { | 391 TEST_F(QuicTimeWaitListManagerTest, MakeSureFramerUsesCorrectVersion) { |
392 const int kRandomSequenceNumber = 1; | 392 const int kRandomSequenceNumber = 1; |
393 scoped_ptr<QuicEncryptedPacket> packet; | 393 scoped_ptr<QuicEncryptedPacket> packet; |
394 | 394 |
395 AddGuid(guid_, test::QuicVersionMin(), NULL); | 395 AddGuid(guid_, net::test::QuicVersionMin(), NULL); |
396 framer_.set_version(test::QuicVersionMin()); | 396 framer_.set_version(net::test::QuicVersionMin()); |
397 packet.reset( | 397 packet.reset( |
398 ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, kRandomSequenceNumber)); | 398 ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, kRandomSequenceNumber)); |
399 | 399 |
400 // Reset packet should be written, using the minimum quic version. | 400 // Reset packet should be written, using the minimum quic version. |
401 EXPECT_CALL(writer_, WritePacket(_, _, _, _, _)).Times(1) | 401 EXPECT_CALL(writer_, WritePacket(_, _, _, _, _)).Times(1) |
402 .WillOnce(Return(WriteResult(WRITE_STATUS_OK, 0))); | 402 .WillOnce(Return(WriteResult(WRITE_STATUS_OK, 0))); |
403 ProcessPacket(guid_, *packet); | 403 ProcessPacket(guid_, *packet); |
404 EXPECT_EQ(QuicTimeWaitListManagerPeer::version(&time_wait_list_manager_), | 404 EXPECT_EQ(QuicTimeWaitListManagerPeer::version(&time_wait_list_manager_), |
405 test::QuicVersionMin()); | 405 net::test::QuicVersionMin()); |
406 | 406 |
407 // New guid | 407 // New guid |
408 ++guid_; | 408 ++guid_; |
409 | 409 |
410 AddGuid(guid_, test::QuicVersionMax(), NULL); | 410 AddGuid(guid_, net::test::QuicVersionMax(), NULL); |
411 framer_.set_version(test::QuicVersionMax()); | 411 framer_.set_version(net::test::QuicVersionMax()); |
412 packet.reset( | 412 packet.reset( |
413 ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, kRandomSequenceNumber)); | 413 ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, kRandomSequenceNumber)); |
414 | 414 |
415 // Reset packet should be written, using the maximum quic version. | 415 // Reset packet should be written, using the maximum quic version. |
416 EXPECT_CALL(writer_, WritePacket(_, _, _, _, _)).Times(1) | 416 EXPECT_CALL(writer_, WritePacket(_, _, _, _, _)).Times(1) |
417 .WillOnce(Return(WriteResult(WRITE_STATUS_OK, 0))); | 417 .WillOnce(Return(WriteResult(WRITE_STATUS_OK, 0))); |
418 ProcessPacket(guid_, *packet); | 418 ProcessPacket(guid_, *packet); |
419 EXPECT_EQ(QuicTimeWaitListManagerPeer::version(&time_wait_list_manager_), | 419 EXPECT_EQ(QuicTimeWaitListManagerPeer::version(&time_wait_list_manager_), |
420 test::QuicVersionMax()); | 420 net::test::QuicVersionMax()); |
421 } | 421 } |
422 | 422 |
423 TEST_F(QuicTimeWaitListManagerTest, GetQuicVersionFromMap) { | 423 TEST_F(QuicTimeWaitListManagerTest, GetQuicVersionFromMap) { |
424 const int kGuid1 = 123; | 424 const int kGuid1 = 123; |
425 const int kGuid2 = 456; | 425 const int kGuid2 = 456; |
426 const int kGuid3 = 789; | 426 const int kGuid3 = 789; |
427 | 427 |
428 AddGuid(kGuid1, test::QuicVersionMin(), NULL); | 428 AddGuid(kGuid1, net::test::QuicVersionMin(), NULL); |
429 AddGuid(kGuid2, test::QuicVersionMax(), NULL); | 429 AddGuid(kGuid2, net::test::QuicVersionMax(), NULL); |
430 AddGuid(kGuid3, test::QuicVersionMax(), NULL); | 430 AddGuid(kGuid3, net::test::QuicVersionMax(), NULL); |
431 | 431 |
432 EXPECT_EQ(test::QuicVersionMin(), | 432 EXPECT_EQ(net::test::QuicVersionMin(), |
433 QuicTimeWaitListManagerPeer::GetQuicVersionFromGuid( | 433 QuicTimeWaitListManagerPeer::GetQuicVersionFromGuid( |
434 &time_wait_list_manager_, kGuid1)); | 434 &time_wait_list_manager_, kGuid1)); |
435 EXPECT_EQ(test::QuicVersionMax(), | 435 EXPECT_EQ(net::test::QuicVersionMax(), |
436 QuicTimeWaitListManagerPeer::GetQuicVersionFromGuid( | 436 QuicTimeWaitListManagerPeer::GetQuicVersionFromGuid( |
437 &time_wait_list_manager_, kGuid2)); | 437 &time_wait_list_manager_, kGuid2)); |
438 EXPECT_EQ(test::QuicVersionMax(), | 438 EXPECT_EQ(net::test::QuicVersionMax(), |
439 QuicTimeWaitListManagerPeer::GetQuicVersionFromGuid( | 439 QuicTimeWaitListManagerPeer::GetQuicVersionFromGuid( |
440 &time_wait_list_manager_, kGuid3)); | 440 &time_wait_list_manager_, kGuid3)); |
441 } | 441 } |
442 | 442 |
443 } // namespace | 443 } // namespace |
444 } // namespace test | 444 } // namespace test |
445 } // namespace tools | 445 } // namespace tools |
446 } // namespace net | 446 } // namespace net |
OLD | NEW |