| 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/reliable_quic_stream.h" |    5 #include "net/quic/reliable_quic_stream.h" | 
|    6  |    6  | 
|    7 #include <memory> |    7 #include <memory> | 
|    8  |    8  | 
|    9 #include "net/quic/quic_connection.h" |    9 #include "net/quic/quic_connection.h" | 
|   10 #include "net/quic/quic_flags.h" |   10 #include "net/quic/quic_flags.h" | 
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  158   QuicWriteBlockedList* write_blocked_list_; |  158   QuicWriteBlockedList* write_blocked_list_; | 
|  159   uint32_t initial_flow_control_window_bytes_; |  159   uint32_t initial_flow_control_window_bytes_; | 
|  160   QuicTime::Delta zero_; |  160   QuicTime::Delta zero_; | 
|  161   QuicVersionVector supported_versions_; |  161   QuicVersionVector supported_versions_; | 
|  162   const QuicStreamId kTestStreamId = 5u; |  162   const QuicStreamId kTestStreamId = 5u; | 
|  163 }; |  163 }; | 
|  164  |  164  | 
|  165 TEST_F(ReliableQuicStreamTest, WriteAllData) { |  165 TEST_F(ReliableQuicStreamTest, WriteAllData) { | 
|  166   Initialize(kShouldProcessData); |  166   Initialize(kShouldProcessData); | 
|  167  |  167  | 
|  168   size_t length = 1 + QuicPacketCreator::StreamFramePacketOverhead( |  168   size_t length = | 
|  169                           PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, |  169       1 + QuicPacketCreator::StreamFramePacketOverhead( | 
|  170                           !kIncludePathId, PACKET_6BYTE_PACKET_NUMBER, 0u); |  170               PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, !kIncludePathId, | 
 |  171               !kIncludeDiversificationNonce, PACKET_6BYTE_PACKET_NUMBER, 0u); | 
|  171   connection_->SetMaxPacketLength(length); |  172   connection_->SetMaxPacketLength(length); | 
|  172  |  173  | 
|  173   EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |  174   EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) | 
|  174       .WillOnce(Return(QuicConsumedData(kDataLen, true))); |  175       .WillOnce(Return(QuicConsumedData(kDataLen, true))); | 
|  175   stream_->WriteOrBufferData(kData1, false, nullptr); |  176   stream_->WriteOrBufferData(kData1, false, nullptr); | 
|  176   EXPECT_FALSE(HasWriteBlockedStreams()); |  177   EXPECT_FALSE(HasWriteBlockedStreams()); | 
|  177 } |  178 } | 
|  178  |  179  | 
|  179 TEST_F(ReliableQuicStreamTest, NoBlockingIfNoDataOrFin) { |  180 TEST_F(ReliableQuicStreamTest, NoBlockingIfNoDataOrFin) { | 
|  180   Initialize(kShouldProcessData); |  181   Initialize(kShouldProcessData); | 
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  230   EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |  231   EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) | 
|  231       .WillOnce(Invoke(this, &ReliableQuicStreamTest::CloseStreamOnWriteError)); |  232       .WillOnce(Invoke(this, &ReliableQuicStreamTest::CloseStreamOnWriteError)); | 
|  232   stream_->WriteOrBufferData(StringPiece(kData1, 2), false, nullptr); |  233   stream_->WriteOrBufferData(StringPiece(kData1, 2), false, nullptr); | 
|  233   ASSERT_EQ(0u, write_blocked_list_->NumBlockedStreams()); |  234   ASSERT_EQ(0u, write_blocked_list_->NumBlockedStreams()); | 
|  234 } |  235 } | 
|  235  |  236  | 
|  236 TEST_F(ReliableQuicStreamTest, WriteOrBufferData) { |  237 TEST_F(ReliableQuicStreamTest, WriteOrBufferData) { | 
|  237   Initialize(kShouldProcessData); |  238   Initialize(kShouldProcessData); | 
|  238  |  239  | 
|  239   EXPECT_FALSE(HasWriteBlockedStreams()); |  240   EXPECT_FALSE(HasWriteBlockedStreams()); | 
|  240   size_t length = 1 + QuicPacketCreator::StreamFramePacketOverhead( |  241   size_t length = | 
|  241                           PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, |  242       1 + QuicPacketCreator::StreamFramePacketOverhead( | 
|  242                           !kIncludePathId, PACKET_6BYTE_PACKET_NUMBER, 0u); |  243               PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, !kIncludePathId, | 
 |  244               !kIncludeDiversificationNonce, PACKET_6BYTE_PACKET_NUMBER, 0u); | 
|  243   connection_->SetMaxPacketLength(length); |  245   connection_->SetMaxPacketLength(length); | 
|  244  |  246  | 
|  245   EXPECT_CALL(*session_, WritevData(_, _, _, _, _)) |  247   EXPECT_CALL(*session_, WritevData(_, _, _, _, _)) | 
|  246       .WillOnce(Return(QuicConsumedData(kDataLen - 1, false))); |  248       .WillOnce(Return(QuicConsumedData(kDataLen - 1, false))); | 
|  247   stream_->WriteOrBufferData(kData1, false, nullptr); |  249   stream_->WriteOrBufferData(kData1, false, nullptr); | 
|  248   EXPECT_TRUE(HasWriteBlockedStreams()); |  250   EXPECT_TRUE(HasWriteBlockedStreams()); | 
|  249  |  251  | 
|  250   // Queue a bytes_consumed write. |  252   // Queue a bytes_consumed write. | 
|  251   stream_->WriteOrBufferData(kData2, false, nullptr); |  253   stream_->WriteOrBufferData(kData2, false, nullptr); | 
|  252  |  254  | 
| (...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  660   // Receive remaining data and FIN for the request. |  662   // Receive remaining data and FIN for the request. | 
|  661   QuicStreamFrame frame2(stream_->id(), true, 0, StringPiece("End")); |  663   QuicStreamFrame frame2(stream_->id(), true, 0, StringPiece("End")); | 
|  662   stream_->OnStreamFrame(frame2); |  664   stream_->OnStreamFrame(frame2); | 
|  663   EXPECT_TRUE(stream_->fin_received()); |  665   EXPECT_TRUE(stream_->fin_received()); | 
|  664   EXPECT_TRUE(stream_->HasFinalReceivedByteOffset()); |  666   EXPECT_TRUE(stream_->HasFinalReceivedByteOffset()); | 
|  665 } |  667 } | 
|  666  |  668  | 
|  667 }  // namespace |  669 }  // namespace | 
|  668 }  // namespace test |  670 }  // namespace test | 
|  669 }  // namespace net |  671 }  // namespace net | 
| OLD | NEW |