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_http_stream.h" | 5 #include "net/quic/quic_http_stream.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/base/test_completion_callback.h" | 10 #include "net/base/test_completion_callback.h" |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 use_closing_stream_(false), | 149 use_closing_stream_(false), |
150 read_buffer_(new IOBufferWithSize(4096)), | 150 read_buffer_(new IOBufferWithSize(4096)), |
151 connection_id_(2), | 151 connection_id_(2), |
152 stream_id_(kClientDataStreamId1), | 152 stream_id_(kClientDataStreamId1), |
153 maker_(GetParam(), connection_id_), | 153 maker_(GetParam(), connection_id_), |
154 random_generator_(0) { | 154 random_generator_(0) { |
155 IPAddressNumber ip; | 155 IPAddressNumber ip; |
156 CHECK(ParseIPLiteralToNumber("192.0.2.33", &ip)); | 156 CHECK(ParseIPLiteralToNumber("192.0.2.33", &ip)); |
157 peer_addr_ = IPEndPoint(ip, 443); | 157 peer_addr_ = IPEndPoint(ip, 443); |
158 self_addr_ = IPEndPoint(ip, 8435); | 158 self_addr_ = IPEndPoint(ip, 8435); |
| 159 clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(20)); |
159 } | 160 } |
160 | 161 |
161 ~QuicHttpStreamTest() { | 162 ~QuicHttpStreamTest() { |
162 session_->CloseSessionOnError(ERR_ABORTED); | 163 session_->CloseSessionOnError(ERR_ABORTED); |
163 for (size_t i = 0; i < writes_.size(); i++) { | 164 for (size_t i = 0; i < writes_.size(); i++) { |
164 delete writes_[i].packet; | 165 delete writes_[i].packet; |
165 } | 166 } |
166 } | 167 } |
167 | 168 |
168 // Adds a packet to the list of expected writes. | 169 // Adds a packet to the list of expected writes. |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 DefaultQuicConfig(), &crypto_config_, | 237 DefaultQuicConfig(), &crypto_config_, |
237 base::MessageLoop::current()-> | 238 base::MessageLoop::current()-> |
238 message_loop_proxy().get(), | 239 message_loop_proxy().get(), |
239 NULL)); | 240 NULL)); |
240 session_->InitializeSession(); | 241 session_->InitializeSession(); |
241 session_->GetCryptoStream()->CryptoConnect(); | 242 session_->GetCryptoStream()->CryptoConnect(); |
242 EXPECT_TRUE(session_->IsCryptoHandshakeConfirmed()); | 243 EXPECT_TRUE(session_->IsCryptoHandshakeConfirmed()); |
243 stream_.reset(use_closing_stream_ ? | 244 stream_.reset(use_closing_stream_ ? |
244 new AutoClosingStream(session_->GetWeakPtr()) : | 245 new AutoClosingStream(session_->GetWeakPtr()) : |
245 new QuicHttpStream(session_->GetWeakPtr())); | 246 new QuicHttpStream(session_->GetWeakPtr())); |
246 clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(20)); | |
247 } | 247 } |
248 | 248 |
249 void SetRequest(const std::string& method, | 249 void SetRequest(const std::string& method, |
250 const std::string& path, | 250 const std::string& path, |
251 RequestPriority priority) { | 251 RequestPriority priority) { |
252 request_headers_ = maker_.GetRequestHeaders(method, "http", path); | 252 request_headers_ = maker_.GetRequestHeaders(method, "http", path); |
253 } | 253 } |
254 | 254 |
255 void SetResponse(const std::string& status, const std::string& body) { | 255 void SetResponse(const std::string& status, const std::string& body) { |
256 response_headers_ = maker_.GetResponseHeaders(status); | 256 response_headers_ = maker_.GetResponseHeaders(status); |
(...skipping 28 matching lines...) Expand all Loading... |
285 QuicPacketSequenceNumber sequence_number) { | 285 QuicPacketSequenceNumber sequence_number) { |
286 return maker_.MakeRstPacket( | 286 return maker_.MakeRstPacket( |
287 sequence_number, true, stream_id_, | 287 sequence_number, true, stream_id_, |
288 AdjustErrorForVersion(QUIC_RST_FLOW_CONTROL_ACCOUNTING, GetParam())); | 288 AdjustErrorForVersion(QUIC_RST_FLOW_CONTROL_ACCOUNTING, GetParam())); |
289 } | 289 } |
290 | 290 |
291 scoped_ptr<QuicEncryptedPacket> ConstructAckAndRstStreamPacket( | 291 scoped_ptr<QuicEncryptedPacket> ConstructAckAndRstStreamPacket( |
292 QuicPacketSequenceNumber sequence_number) { | 292 QuicPacketSequenceNumber sequence_number) { |
293 return maker_.MakeAckAndRstPacket( | 293 return maker_.MakeAckAndRstPacket( |
294 sequence_number, !kIncludeVersion, stream_id_, QUIC_STREAM_CANCELLED, | 294 sequence_number, !kIncludeVersion, stream_id_, QUIC_STREAM_CANCELLED, |
295 2, 1, !kIncludeCongestionFeedback); | 295 2, 1, !kIncludeCongestionFeedback, clock_.Now()); |
296 } | 296 } |
297 | 297 |
298 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( | 298 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( |
299 QuicPacketSequenceNumber sequence_number, | 299 QuicPacketSequenceNumber sequence_number, |
300 QuicPacketSequenceNumber largest_received, | 300 QuicPacketSequenceNumber largest_received, |
301 QuicPacketSequenceNumber least_unacked) { | 301 QuicPacketSequenceNumber least_unacked) { |
302 return maker_.MakeAckPacket(sequence_number, largest_received, | 302 return maker_.MakeAckPacket(sequence_number, largest_received, |
303 least_unacked, !kIncludeCongestionFeedback); | 303 least_unacked, !kIncludeCongestionFeedback, |
| 304 clock_.Now()); |
304 } | 305 } |
305 | 306 |
306 BoundNetLog net_log_; | 307 BoundNetLog net_log_; |
307 bool use_closing_stream_; | 308 bool use_closing_stream_; |
308 MockSendAlgorithm* send_algorithm_; | 309 MockSendAlgorithm* send_algorithm_; |
309 TestReceiveAlgorithm* receive_algorithm_; | 310 TestReceiveAlgorithm* receive_algorithm_; |
310 scoped_refptr<TestTaskRunner> runner_; | 311 scoped_refptr<TestTaskRunner> runner_; |
311 scoped_ptr<MockWrite[]> mock_writes_; | 312 scoped_ptr<MockWrite[]> mock_writes_; |
312 MockClock clock_; | 313 MockClock clock_; |
313 TestQuicConnection* connection_; | 314 TestQuicConnection* connection_; |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
731 // Set Delegate to NULL and make sure EffectivePriority returns highest | 732 // Set Delegate to NULL and make sure EffectivePriority returns highest |
732 // priority. | 733 // priority. |
733 reliable_stream->SetDelegate(NULL); | 734 reliable_stream->SetDelegate(NULL); |
734 DCHECK_EQ(QuicWriteBlockedList::kHighestPriority, | 735 DCHECK_EQ(QuicWriteBlockedList::kHighestPriority, |
735 reliable_stream->EffectivePriority()); | 736 reliable_stream->EffectivePriority()); |
736 reliable_stream->SetDelegate(delegate); | 737 reliable_stream->SetDelegate(delegate); |
737 } | 738 } |
738 | 739 |
739 } // namespace test | 740 } // namespace test |
740 } // namespace net | 741 } // namespace net |
OLD | NEW |