| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_epoll_connection_helper.h" | 5 #include "net/tools/quic/quic_epoll_connection_helper.h" |
| 6 | 6 |
| 7 #include "net/quic/crypto/crypto_protocol.h" | 7 #include "net/quic/crypto/crypto_protocol.h" |
| 8 #include "net/quic/crypto/quic_decrypter.h" | 8 #include "net/quic/crypto/quic_decrypter.h" |
| 9 #include "net/quic/crypto/quic_encrypter.h" | 9 #include "net/quic/crypto/quic_encrypter.h" |
| 10 #include "net/quic/crypto/quic_random.h" | 10 #include "net/quic/crypto/quic_random.h" |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)).WillRepeatedly(Return( | 88 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)).WillRepeatedly(Return( |
| 89 QuicTime::Delta::Zero())); | 89 QuicTime::Delta::Zero())); |
| 90 } | 90 } |
| 91 | 91 |
| 92 QuicPacket* ConstructDataPacket(QuicPacketSequenceNumber number, | 92 QuicPacket* ConstructDataPacket(QuicPacketSequenceNumber number, |
| 93 QuicFecGroupNumber fec_group) { | 93 QuicFecGroupNumber fec_group) { |
| 94 header_.public_header.version_flag = false; | 94 header_.public_header.version_flag = false; |
| 95 header_.public_header.reset_flag = false; | 95 header_.public_header.reset_flag = false; |
| 96 header_.fec_flag = false; | 96 header_.fec_flag = false; |
| 97 header_.entropy_flag = false; | 97 header_.entropy_flag = false; |
| 98 header_.fec_entropy_flag = false; | |
| 99 header_.packet_sequence_number = number; | 98 header_.packet_sequence_number = number; |
| 99 header_.is_in_fec_group = fec_group == 0 ? NOT_IN_FEC_GROUP : IN_FEC_GROUP; |
| 100 header_.fec_group = fec_group; | 100 header_.fec_group = fec_group; |
| 101 | 101 |
| 102 QuicFrames frames; | 102 QuicFrames frames; |
| 103 QuicFrame frame(&frame1_); | 103 QuicFrame frame(&frame1_); |
| 104 frames.push_back(frame); | 104 frames.push_back(frame); |
| 105 return framer_.ConstructFrameDataPacket(header_, frames).packet; | 105 return framer_.ConstructFrameDataPacket(header_, frames).packet; |
| 106 } | 106 } |
| 107 | 107 |
| 108 QuicGuid guid_; | 108 QuicGuid guid_; |
| 109 QuicFramer framer_; | 109 QuicFramer framer_; |
| 110 | 110 |
| 111 MockEpollServer epoll_server_; | 111 MockEpollServer epoll_server_; |
| 112 testing::StrictMock<MockSendAlgorithm>* send_algorithm_; | 112 testing::StrictMock<MockSendAlgorithm>* send_algorithm_; |
| 113 TestConnectionHelper* helper_; | 113 TestConnectionHelper* helper_; |
| 114 TestConnection connection_; | 114 TestConnection connection_; |
| 115 testing::StrictMock<MockConnectionVisitor> visitor_; | 115 testing::StrictMock<MockConnectionVisitor> visitor_; |
| 116 | 116 |
| 117 QuicPacketHeader header_; | 117 QuicPacketHeader header_; |
| 118 QuicStreamFrame frame1_; | 118 QuicStreamFrame frame1_; |
| 119 }; | 119 }; |
| 120 | 120 |
| 121 TEST_F(QuicConnectionHelperTest, DISABLED_TestRetransmission) { | 121 TEST_F(QuicConnectionHelperTest, DISABLED_TestRetransmission) { |
| 122 //FLAGS_fake_packet_loss_percentage = 100; | 122 //FLAGS_fake_packet_loss_percentage = 100; |
| 123 const int64 kDefaultRetransmissionTimeMs = 500; | 123 const int64 kDefaultRetransmissionTimeMs = 500; |
| 124 | 124 |
| 125 const char buffer[] = "foo"; | 125 const char buffer[] = "foo"; |
| 126 const size_t packet_size = GetPacketHeaderSize(kIncludeVersion) + | 126 const size_t packet_size = |
| 127 GetPacketHeaderSize( |
| 128 PACKET_8BYTE_GUID, kIncludeVersion, NOT_IN_FEC_GROUP) + |
| 127 QuicFramer::GetMinStreamFrameSize() + arraysize(buffer) - 1; | 129 QuicFramer::GetMinStreamFrameSize() + arraysize(buffer) - 1; |
| 128 EXPECT_CALL(*send_algorithm_, | 130 EXPECT_CALL(*send_algorithm_, |
| 129 SentPacket(_, 1, packet_size, NOT_RETRANSMISSION)); | 131 SentPacket(_, 1, packet_size, NOT_RETRANSMISSION)); |
| 130 EXPECT_CALL(*send_algorithm_, AbandoningPacket(1, packet_size)); | 132 EXPECT_CALL(*send_algorithm_, AbandoningPacket(1, packet_size)); |
| 131 connection_.SendStreamData(1, buffer, 0, false); | 133 connection_.SendStreamData(1, buffer, 0, false); |
| 132 EXPECT_EQ(1u, helper_->header()->packet_sequence_number); | 134 EXPECT_EQ(1u, helper_->header()->packet_sequence_number); |
| 133 EXPECT_CALL(*send_algorithm_, | 135 EXPECT_CALL(*send_algorithm_, |
| 134 SentPacket(_, 2, packet_size, IS_RETRANSMISSION)); | 136 SentPacket(_, 2, packet_size, IS_RETRANSMISSION)); |
| 135 epoll_server_.AdvanceByAndCallCallbacks(kDefaultRetransmissionTimeMs * 1000); | 137 epoll_server_.AdvanceByAndCallCallbacks(kDefaultRetransmissionTimeMs * 1000); |
| 136 | 138 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 testing::Return(QuicTime::Delta::Zero())); | 194 testing::Return(QuicTime::Delta::Zero())); |
| 193 EXPECT_CALL(visitor_, OnCanWrite()).WillOnce(testing::Return(true)); | 195 EXPECT_CALL(visitor_, OnCanWrite()).WillOnce(testing::Return(true)); |
| 194 epoll_server_.AdvanceByAndCallCallbacks(1); | 196 epoll_server_.AdvanceByAndCallCallbacks(1); |
| 195 EXPECT_EQ(0u, connection_.NumQueuedPackets()); | 197 EXPECT_EQ(0u, connection_.NumQueuedPackets()); |
| 196 } | 198 } |
| 197 | 199 |
| 198 } // namespace | 200 } // namespace |
| 199 } // namespace test | 201 } // namespace test |
| 200 } // namespace tools | 202 } // namespace tools |
| 201 } // namespace net | 203 } // namespace net |
| OLD | NEW |