Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Side by Side Diff: net/quic/core/quic_headers_stream_test.cc

Issue 2580393003: Replace QuicAckListenerInterface* with scoped_refptr<QuicAckListenerInterface>. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/core/quic_headers_stream.cc ('k') | net/quic/core/quic_packet_creator.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 QuicAckListenerInterface* ack_listener) { 267 const scoped_refptr<QuicAckListenerInterface>& ack_listener) {
268 QuicConsumedData result = SaveIov(data); 268 QuicConsumedData result = SaveIov(data);
269 if (ack_listener) { 269 if (ack_listener) {
270 ack_listener->OnPacketAcked(result.bytes_consumed, 270 ack_listener->OnPacketAcked(result.bytes_consumed,
271 QuicTime::Delta::Zero()); 271 QuicTime::Delta::Zero());
272 } 272 }
273 return result; 273 return result;
274 } 274 }
275 275
276 void SavePayload(const char* data, size_t len) { 276 void SavePayload(const char* data, size_t len) {
277 saved_payloads_.append(data, len); 277 saved_payloads_.append(data, len);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 317
318 void WriteAndExpectResponseHeaders(QuicStreamId stream_id, bool fin) { 318 void WriteAndExpectResponseHeaders(QuicStreamId stream_id, bool fin) {
319 WriteHeadersAndCheckData(stream_id, fin, 0, false /*is_request*/); 319 WriteHeadersAndCheckData(stream_id, fin, 0, false /*is_request*/);
320 } 320 }
321 321
322 void WriteHeadersAndCheckData(QuicStreamId stream_id, 322 void WriteHeadersAndCheckData(QuicStreamId stream_id,
323 bool fin, 323 bool fin,
324 SpdyPriority priority, 324 SpdyPriority priority,
325 bool is_request) { 325 bool is_request) {
326 // Write the headers and capture the outgoing data 326 // Write the headers and capture the outgoing data
327 EXPECT_CALL(session_, WritevData(headers_stream_, kHeadersStreamId, _, _, 327 EXPECT_CALL(session_,
328 false, nullptr)) 328 WritevData(headers_stream_, kHeadersStreamId, _, _, false, _))
329 .WillOnce(WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov))); 329 .WillOnce(WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov)));
330 headers_stream_->WriteHeaders(stream_id, headers_.Clone(), fin, priority, 330 headers_stream_->WriteHeaders(stream_id, headers_.Clone(), fin, priority,
331 nullptr); 331 nullptr);
332 332
333 // Parse the outgoing data and check that it matches was was written. 333 // Parse the outgoing data and check that it matches was was written.
334 if (is_request) { 334 if (is_request) {
335 EXPECT_CALL(visitor_, 335 EXPECT_CALL(visitor_,
336 OnHeaders(stream_id, kHasPriority, 336 OnHeaders(stream_id, kHasPriority,
337 Spdy3PriorityToHttp2Weight(priority), 337 Spdy3PriorityToHttp2Weight(priority),
338 /*parent_stream_id=*/0, 338 /*parent_stream_id=*/0,
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 } 436 }
437 } 437 }
438 } 438 }
439 439
440 TEST_P(QuicHeadersStreamTest, WritePushPromises) { 440 TEST_P(QuicHeadersStreamTest, WritePushPromises) {
441 for (QuicStreamId stream_id = kClientDataStreamId1; 441 for (QuicStreamId stream_id = kClientDataStreamId1;
442 stream_id < kClientDataStreamId3; stream_id += 2) { 442 stream_id < kClientDataStreamId3; stream_id += 2) {
443 QuicStreamId promised_stream_id = NextPromisedStreamId(); 443 QuicStreamId promised_stream_id = NextPromisedStreamId();
444 if (perspective() == Perspective::IS_SERVER) { 444 if (perspective() == Perspective::IS_SERVER) {
445 // Write the headers and capture the outgoing data 445 // Write the headers and capture the outgoing data
446 EXPECT_CALL(session_, WritevData(headers_stream_, kHeadersStreamId, _, _, 446 EXPECT_CALL(session_,
447 false, nullptr)) 447 WritevData(headers_stream_, kHeadersStreamId, _, _, false, _))
448 .WillOnce(WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov))); 448 .WillOnce(WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov)));
449 headers_stream_->WritePushPromise(stream_id, promised_stream_id, 449 headers_stream_->WritePushPromise(stream_id, promised_stream_id,
450 headers_.Clone()); 450 headers_.Clone());
451 451
452 // Parse the outgoing data and check that it matches was was written. 452 // Parse the outgoing data and check that it matches was was written.
453 EXPECT_CALL(visitor_, 453 EXPECT_CALL(visitor_,
454 OnPushPromise(stream_id, promised_stream_id, kFrameComplete)); 454 OnPushPromise(stream_id, promised_stream_id, kFrameComplete));
455 headers_handler_.reset(new TestHeadersHandler); 455 headers_handler_.reset(new TestHeadersHandler);
456 EXPECT_CALL(visitor_, OnHeaderFrameStart(stream_id)) 456 EXPECT_CALL(visitor_, OnHeaderFrameStart(stream_id))
457 .WillOnce(Return(headers_handler_.get())); 457 .WillOnce(Return(headers_handler_.get()));
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
956 scoped_refptr<ForceHolAckListener> ack_listener; 956 scoped_refptr<ForceHolAckListener> ack_listener;
957 if (use_ack_listener) { 957 if (use_ack_listener) {
958 ack_listener = new ForceHolAckListener(); 958 ack_listener = new ForceHolAckListener();
959 } 959 }
960 EXPECT_CALL(session_, 960 EXPECT_CALL(session_,
961 WritevData(headers_stream_, kHeadersStreamId, _, _, false, _)) 961 WritevData(headers_stream_, kHeadersStreamId, _, _, false, _))
962 .WillRepeatedly(WithArgs<2, 5>(Invoke( 962 .WillRepeatedly(WithArgs<2, 5>(Invoke(
963 this, &QuicHeadersStreamTest::SaveIovAndNotifyAckListener))); 963 this, &QuicHeadersStreamTest::SaveIovAndNotifyAckListener)));
964 964
965 QuicConsumedData consumed_data = headers_stream_->WritevStreamData( 965 QuicConsumedData consumed_data = headers_stream_->WritevStreamData(
966 id, MakeIOVector(data, &iov), offset, fin, ack_listener.get()); 966 id, MakeIOVector(data, &iov), offset, fin, ack_listener);
967 967
968 EXPECT_EQ(consumed_data.bytes_consumed, data_len); 968 EXPECT_EQ(consumed_data.bytes_consumed, data_len);
969 EXPECT_EQ(consumed_data.fin_consumed, fin); 969 EXPECT_EQ(consumed_data.fin_consumed, fin);
970 // Now process the written data with the SPDY framer, and verify 970 // Now process the written data with the SPDY framer, and verify
971 // that the original data is unchanged. 971 // that the original data is unchanged.
972 EXPECT_CALL(visitor_, OnDataFrameHeader(id, _, _)) 972 EXPECT_CALL(visitor_, OnDataFrameHeader(id, _, _))
973 .Times(AtLeast(kMinDataFrames)); 973 .Times(AtLeast(kMinDataFrames));
974 EXPECT_CALL(visitor_, OnStreamFrameData(id, _, _)) 974 EXPECT_CALL(visitor_, OnStreamFrameData(id, _, _))
975 .WillRepeatedly(WithArgs<1, 2>( 975 .WillRepeatedly(WithArgs<1, 2>(
976 Invoke(this, &QuicHeadersStreamTest::SavePayload))); 976 Invoke(this, &QuicHeadersStreamTest::SavePayload)));
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1045 consumed_data = headers_stream_->WritevStreamData( 1045 consumed_data = headers_stream_->WritevStreamData(
1046 id, MakeIOVector(data, &iov), offset, fin, nullptr); 1046 id, MakeIOVector(data, &iov), offset, fin, nullptr);
1047 1047
1048 EXPECT_EQ(consumed_data.bytes_consumed, 0u); 1048 EXPECT_EQ(consumed_data.bytes_consumed, 0u);
1049 EXPECT_EQ(consumed_data.fin_consumed, false); 1049 EXPECT_EQ(consumed_data.fin_consumed, false);
1050 } 1050 }
1051 1051
1052 } // namespace 1052 } // namespace
1053 } // namespace test 1053 } // namespace test
1054 } // namespace net 1054 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_headers_stream.cc ('k') | net/quic/core/quic_packet_creator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698