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 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 return maker_.MakeResponseHeadersPacket( | 256 return maker_.MakeResponseHeadersPacket( |
257 sequence_number, stream_id_, !kIncludeVersion, fin, response_headers_); | 257 sequence_number, stream_id_, !kIncludeVersion, fin, response_headers_); |
258 } | 258 } |
259 | 259 |
260 scoped_ptr<QuicEncryptedPacket> ConstructRstStreamPacket( | 260 scoped_ptr<QuicEncryptedPacket> ConstructRstStreamPacket( |
261 QuicPacketSequenceNumber sequence_number) { | 261 QuicPacketSequenceNumber sequence_number) { |
262 return maker_.MakeRstPacket( | 262 return maker_.MakeRstPacket( |
263 sequence_number, !kIncludeVersion, stream_id_, QUIC_STREAM_CANCELLED); | 263 sequence_number, !kIncludeVersion, stream_id_, QUIC_STREAM_CANCELLED); |
264 } | 264 } |
265 | 265 |
| 266 scoped_ptr<QuicEncryptedPacket> ConstructAckAndRstStreamPacket( |
| 267 QuicPacketSequenceNumber sequence_number) { |
| 268 return maker_.MakeAckAndRstPacket( |
| 269 sequence_number, !kIncludeVersion, stream_id_, QUIC_STREAM_CANCELLED, |
| 270 1, 1, !kIncludeCongestionFeedback); |
| 271 } |
| 272 |
266 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( | 273 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( |
267 QuicPacketSequenceNumber sequence_number, | 274 QuicPacketSequenceNumber sequence_number, |
268 QuicPacketSequenceNumber largest_received, | 275 QuicPacketSequenceNumber largest_received, |
269 QuicPacketSequenceNumber least_unacked) { | 276 QuicPacketSequenceNumber least_unacked) { |
270 return maker_.MakeAckPacket(sequence_number, largest_received, | 277 return maker_.MakeAckPacket(sequence_number, largest_received, |
271 least_unacked, !kIncludeCongestionFeedback); | 278 least_unacked, !kIncludeCongestionFeedback); |
272 } | 279 } |
273 | 280 |
274 BoundNetLog net_log_; | 281 BoundNetLog net_log_; |
275 bool use_closing_stream_; | 282 bool use_closing_stream_; |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 EXPECT_TRUE(AtEof()); | 611 EXPECT_TRUE(AtEof()); |
605 } | 612 } |
606 | 613 |
607 TEST_P(QuicHttpStreamTest, DestroyedEarly) { | 614 TEST_P(QuicHttpStreamTest, DestroyedEarly) { |
608 SetRequest("GET", "/", DEFAULT_PRIORITY); | 615 SetRequest("GET", "/", DEFAULT_PRIORITY); |
609 if (GetParam() > QUIC_VERSION_12) { | 616 if (GetParam() > QUIC_VERSION_12) { |
610 AddWrite(ConstructRequestHeadersPacket(1, kFin)); | 617 AddWrite(ConstructRequestHeadersPacket(1, kFin)); |
611 } else { | 618 } else { |
612 AddWrite(ConstructDataPacket(1, kIncludeVersion, kFin, 0, request_data_)); | 619 AddWrite(ConstructDataPacket(1, kIncludeVersion, kFin, 0, request_data_)); |
613 } | 620 } |
614 AddWrite(ConstructRstStreamPacket(2)); | 621 AddWrite(ConstructAckAndRstStreamPacket(2)); |
615 use_closing_stream_ = true; | 622 use_closing_stream_ = true; |
616 Initialize(); | 623 Initialize(); |
617 | 624 |
618 request_.method = "GET"; | 625 request_.method = "GET"; |
619 request_.url = GURL("http://www.google.com/"); | 626 request_.url = GURL("http://www.google.com/"); |
620 | 627 |
621 EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, | 628 EXPECT_EQ(OK, stream_->InitializeStream(&request_, DEFAULT_PRIORITY, |
622 net_log_, callback_.callback())); | 629 net_log_, callback_.callback())); |
623 EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, | 630 EXPECT_EQ(OK, stream_->SendRequest(headers_, &response_, |
624 callback_.callback())); | 631 callback_.callback())); |
(...skipping 16 matching lines...) Expand all Loading... |
641 EXPECT_TRUE(AtEof()); | 648 EXPECT_TRUE(AtEof()); |
642 } | 649 } |
643 | 650 |
644 TEST_P(QuicHttpStreamTest, Priority) { | 651 TEST_P(QuicHttpStreamTest, Priority) { |
645 SetRequest("GET", "/", MEDIUM); | 652 SetRequest("GET", "/", MEDIUM); |
646 if (GetParam() > QUIC_VERSION_12) { | 653 if (GetParam() > QUIC_VERSION_12) { |
647 AddWrite(ConstructRequestHeadersPacket(1, kFin)); | 654 AddWrite(ConstructRequestHeadersPacket(1, kFin)); |
648 } else { | 655 } else { |
649 AddWrite(ConstructDataPacket(1, kIncludeVersion, kFin, 0, request_data_)); | 656 AddWrite(ConstructDataPacket(1, kIncludeVersion, kFin, 0, request_data_)); |
650 } | 657 } |
651 AddWrite(ConstructRstStreamPacket(2)); | 658 AddWrite(ConstructAckAndRstStreamPacket(2)); |
652 use_closing_stream_ = true; | 659 use_closing_stream_ = true; |
653 Initialize(); | 660 Initialize(); |
654 | 661 |
655 request_.method = "GET"; | 662 request_.method = "GET"; |
656 request_.url = GURL("http://www.google.com/"); | 663 request_.url = GURL("http://www.google.com/"); |
657 | 664 |
658 EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, | 665 EXPECT_EQ(OK, stream_->InitializeStream(&request_, MEDIUM, |
659 net_log_, callback_.callback())); | 666 net_log_, callback_.callback())); |
660 | 667 |
661 // Check that priority is highest. | 668 // Check that priority is highest. |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
750 WillRepeatedly(Return(QuicTime::Delta::Zero())); | 757 WillRepeatedly(Return(QuicTime::Delta::Zero())); |
751 | 758 |
752 // Data should flush out now. | 759 // Data should flush out now. |
753 connection_->OnCanWrite(); | 760 connection_->OnCanWrite(); |
754 EXPECT_FALSE(reliable_stream->HasBufferedData()); | 761 EXPECT_FALSE(reliable_stream->HasBufferedData()); |
755 EXPECT_TRUE(AtEof()); | 762 EXPECT_TRUE(AtEof()); |
756 } | 763 } |
757 | 764 |
758 } // namespace test | 765 } // namespace test |
759 } // namespace net | 766 } // namespace net |
OLD | NEW |