| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/core/quic_headers_stream.h" | 5 #include "net/quic/core/quic_headers_stream.h" |
| 6 | 6 |
| 7 #include <ostream> | 7 #include <ostream> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <tuple> | 9 #include <tuple> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 | 257 |
| 258 QuicConsumedData SaveIovShort(const QuicIOVector& data) { | 258 QuicConsumedData SaveIovShort(const QuicIOVector& data) { |
| 259 const iovec* iov = data.iov; | 259 const iovec* iov = data.iov; |
| 260 int consumed = 1; | 260 int consumed = 1; |
| 261 saved_data_.append(static_cast<char*>(iov[0].iov_base), consumed); | 261 saved_data_.append(static_cast<char*>(iov[0].iov_base), consumed); |
| 262 return QuicConsumedData(consumed, false); | 262 return QuicConsumedData(consumed, false); |
| 263 } | 263 } |
| 264 | 264 |
| 265 QuicConsumedData SaveIovAndNotifyAckListener( | 265 QuicConsumedData SaveIovAndNotifyAckListener( |
| 266 const QuicIOVector& data, | 266 const QuicIOVector& data, |
| 267 const scoped_refptr<QuicAckListenerInterface>& ack_listener) { | 267 const QuicReferenceCountedPointer<QuicAckListenerInterface>& |
| 268 ack_listener) { |
| 268 QuicConsumedData result = SaveIov(data); | 269 QuicConsumedData result = SaveIov(data); |
| 269 if (ack_listener) { | 270 if (ack_listener) { |
| 270 ack_listener->OnPacketAcked(result.bytes_consumed, | 271 ack_listener->OnPacketAcked(result.bytes_consumed, |
| 271 QuicTime::Delta::Zero()); | 272 QuicTime::Delta::Zero()); |
| 272 } | 273 } |
| 273 return result; | 274 return result; |
| 274 } | 275 } |
| 275 | 276 |
| 276 void SavePayload(const char* data, size_t len) { | 277 void SavePayload(const char* data, size_t len) { |
| 277 saved_payloads_.append(data, len); | 278 saved_payloads_.append(data, len); |
| (...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 946 // multiple HTTP/2 DATA frames. | 947 // multiple HTTP/2 DATA frames. |
| 947 const int kMinDataFrames = 4; | 948 const int kMinDataFrames = 4; |
| 948 const size_t data_len = | 949 const size_t data_len = |
| 949 kSpdyInitialFrameSizeLimit * kMinDataFrames + 1024; | 950 kSpdyInitialFrameSizeLimit * kMinDataFrames + 1024; |
| 950 // Set headers stream send window large enough for data written below. | 951 // Set headers stream send window large enough for data written below. |
| 951 headers_stream_->flow_controller()->UpdateSendWindowOffset(data_len * 2 * 4); | 952 headers_stream_->flow_controller()->UpdateSendWindowOffset(data_len * 2 * 4); |
| 952 string data(data_len, 'a'); | 953 string data(data_len, 'a'); |
| 953 | 954 |
| 954 for (bool fin : {true, false}) { | 955 for (bool fin : {true, false}) { |
| 955 for (bool use_ack_listener : {true, false}) { | 956 for (bool use_ack_listener : {true, false}) { |
| 956 scoped_refptr<ForceHolAckListener> ack_listener; | 957 QuicReferenceCountedPointer<ForceHolAckListener> ack_listener; |
| 957 if (use_ack_listener) { | 958 if (use_ack_listener) { |
| 958 ack_listener = new ForceHolAckListener(); | 959 ack_listener = new ForceHolAckListener(); |
| 959 } | 960 } |
| 960 EXPECT_CALL(session_, | 961 EXPECT_CALL(session_, |
| 961 WritevData(headers_stream_, kHeadersStreamId, _, _, false, _)) | 962 WritevData(headers_stream_, kHeadersStreamId, _, _, false, _)) |
| 962 .WillRepeatedly(WithArgs<2, 5>(Invoke( | 963 .WillRepeatedly(WithArgs<2, 5>(Invoke( |
| 963 this, &QuicHeadersStreamTest::SaveIovAndNotifyAckListener))); | 964 this, &QuicHeadersStreamTest::SaveIovAndNotifyAckListener))); |
| 964 | 965 |
| 965 QuicConsumedData consumed_data = headers_stream_->WritevStreamData( | 966 QuicConsumedData consumed_data = headers_stream_->WritevStreamData( |
| 966 id, MakeIOVector(data, &iov), offset, fin, ack_listener); | 967 id, MakeIOVector(data, &iov), offset, fin, ack_listener); |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1045 consumed_data = headers_stream_->WritevStreamData( | 1046 consumed_data = headers_stream_->WritevStreamData( |
| 1046 id, MakeIOVector(data, &iov), offset, fin, nullptr); | 1047 id, MakeIOVector(data, &iov), offset, fin, nullptr); |
| 1047 | 1048 |
| 1048 EXPECT_EQ(consumed_data.bytes_consumed, 0u); | 1049 EXPECT_EQ(consumed_data.bytes_consumed, 0u); |
| 1049 EXPECT_EQ(consumed_data.fin_consumed, false); | 1050 EXPECT_EQ(consumed_data.fin_consumed, false); |
| 1050 } | 1051 } |
| 1051 | 1052 |
| 1052 } // namespace | 1053 } // namespace |
| 1053 } // namespace test | 1054 } // namespace test |
| 1054 } // namespace net | 1055 } // namespace net |
| OLD | NEW |