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/quic/quic_connection_helper.h" | 5 #include "net/quic/quic_connection_helper.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "net/base/net_errors.h" | 9 #include "net/base/net_errors.h" |
10 #include "net/quic/test_tools/mock_clock.h" | 10 #include "net/quic/test_tools/mock_clock.h" |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 writes_.size())); | 94 writes_.size())); |
95 | 95 |
96 MockUDPClientSocket* socket = | 96 MockUDPClientSocket* socket = |
97 new MockUDPClientSocket(socket_data_.get(), net_log_.net_log()); | 97 new MockUDPClientSocket(socket_data_.get(), net_log_.net_log()); |
98 socket->Connect(IPEndPoint()); | 98 socket->Connect(IPEndPoint()); |
99 runner_ = new TestTaskRunner(&clock_); | 99 runner_ = new TestTaskRunner(&clock_); |
100 helper_.reset(new QuicConnectionHelper(runner_.get(), &clock_, | 100 helper_.reset(new QuicConnectionHelper(runner_.get(), &clock_, |
101 &random_generator_, socket)); | 101 &random_generator_, socket)); |
102 scheduler_ = new testing::StrictMock<MockScheduler>(); | 102 scheduler_ = new testing::StrictMock<MockScheduler>(); |
103 EXPECT_CALL(*scheduler_, TimeUntilSend(_)). | 103 EXPECT_CALL(*scheduler_, TimeUntilSend(_)). |
104 WillRepeatedly(testing::Return(QuicTime::Delta())); | 104 WillRepeatedly(testing::Return(QuicTime::Delta::Zero())); |
105 connection_.reset(new TestConnection(guid_, IPEndPoint(), helper_.get())); | 105 connection_.reset(new TestConnection(guid_, IPEndPoint(), helper_.get())); |
106 connection_->set_visitor(&visitor_); | 106 connection_->set_visitor(&visitor_); |
107 connection_->SetScheduler(scheduler_); | 107 connection_->SetScheduler(scheduler_); |
108 } | 108 } |
109 | 109 |
110 // Returns a newly created packet to send kData on stream 1. | 110 // Returns a newly created packet to send kData on stream 1. |
111 QuicEncryptedPacket* ConstructDataPacket( | 111 QuicEncryptedPacket* ConstructDataPacket( |
112 QuicPacketSequenceNumber sequence_number) { | 112 QuicPacketSequenceNumber sequence_number) { |
113 InitializeHeader(sequence_number); | 113 InitializeHeader(sequence_number); |
114 | 114 |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 | 192 |
193 TEST_F(QuicConnectionHelperTest, GetRandomGenerator) { | 193 TEST_F(QuicConnectionHelperTest, GetRandomGenerator) { |
194 EXPECT_EQ(&random_generator_, helper_->GetRandomGenerator()); | 194 EXPECT_EQ(&random_generator_, helper_->GetRandomGenerator()); |
195 } | 195 } |
196 | 196 |
197 TEST_F(QuicConnectionHelperTest, IsSendAlarmSet) { | 197 TEST_F(QuicConnectionHelperTest, IsSendAlarmSet) { |
198 EXPECT_FALSE(helper_->IsSendAlarmSet()); | 198 EXPECT_FALSE(helper_->IsSendAlarmSet()); |
199 } | 199 } |
200 | 200 |
201 TEST_F(QuicConnectionHelperTest, SetSendAlarm) { | 201 TEST_F(QuicConnectionHelperTest, SetSendAlarm) { |
202 helper_->SetSendAlarm(QuicTime::Delta()); | 202 helper_->SetSendAlarm(QuicTime::Delta::Zero()); |
203 EXPECT_TRUE(helper_->IsSendAlarmSet()); | 203 EXPECT_TRUE(helper_->IsSendAlarmSet()); |
204 } | 204 } |
205 | 205 |
206 TEST_F(QuicConnectionHelperTest, UnregisterSendAlarmIfRegistered) { | 206 TEST_F(QuicConnectionHelperTest, UnregisterSendAlarmIfRegistered) { |
207 helper_->SetSendAlarm(QuicTime::Delta()); | 207 helper_->SetSendAlarm(QuicTime::Delta::Zero()); |
208 helper_->UnregisterSendAlarmIfRegistered() ; | 208 helper_->UnregisterSendAlarmIfRegistered() ; |
209 EXPECT_FALSE(helper_->IsSendAlarmSet()); | 209 EXPECT_FALSE(helper_->IsSendAlarmSet()); |
210 } | 210 } |
211 | 211 |
212 TEST_F(QuicConnectionHelperTest, TestResend) { | 212 TEST_F(QuicConnectionHelperTest, TestResend) { |
213 AddWrite(SYNCHRONOUS, ConstructDataPacket(1)); | 213 AddWrite(SYNCHRONOUS, ConstructDataPacket(1)); |
214 AddWrite(SYNCHRONOUS, ConstructDataPacket(2)); | 214 AddWrite(SYNCHRONOUS, ConstructDataPacket(2)); |
215 Initialize(); | 215 Initialize(); |
216 | 216 |
217 QuicTime::Delta kDefaultResendTime = QuicTime::Delta::FromMilliseconds(500); | 217 QuicTime::Delta kDefaultResendTime = QuicTime::Delta::FromMilliseconds(500); |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 EXPECT_CALL(*scheduler_, TimeUntilSend(false)).WillOnce(testing::Return( | 310 EXPECT_CALL(*scheduler_, TimeUntilSend(false)).WillOnce(testing::Return( |
311 QuicTime::Delta::FromMicroseconds(1))); | 311 QuicTime::Delta::FromMicroseconds(1))); |
312 | 312 |
313 connection_->SendStreamData(1, kData, 0, false, NULL); | 313 connection_->SendStreamData(1, kData, 0, false, NULL); |
314 EXPECT_CALL(*scheduler_, SentPacket(1, _, false)); | 314 EXPECT_CALL(*scheduler_, SentPacket(1, _, false)); |
315 EXPECT_EQ(1u, connection_->NumQueuedPackets()); | 315 EXPECT_EQ(1u, connection_->NumQueuedPackets()); |
316 | 316 |
317 // Advance the clock to fire the alarm, and configure the scheduler | 317 // Advance the clock to fire the alarm, and configure the scheduler |
318 // to permit the packet to be sent. | 318 // to permit the packet to be sent. |
319 EXPECT_CALL(*scheduler_, TimeUntilSend(false)).WillOnce(testing::Return( | 319 EXPECT_CALL(*scheduler_, TimeUntilSend(false)).WillOnce(testing::Return( |
320 QuicTime::Delta())); | 320 QuicTime::Delta::Zero())); |
321 EXPECT_CALL(visitor_, OnCanWrite()).WillOnce(testing::Return(true)); | 321 EXPECT_CALL(visitor_, OnCanWrite()).WillOnce(testing::Return(true)); |
322 runner_->RunNextTask(); | 322 runner_->RunNextTask(); |
323 EXPECT_EQ(0u, connection_->NumQueuedPackets()); | 323 EXPECT_EQ(0u, connection_->NumQueuedPackets()); |
324 EXPECT_TRUE(AtEof()); | 324 EXPECT_TRUE(AtEof()); |
325 } | 325 } |
326 | 326 |
327 } // namespace test | 327 } // namespace test |
328 } // namespace net | 328 } // namespace net |
OLD | NEW |