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

Side by Side Diff: net/quic/bidirectional_stream_quic_impl_unittest.cc

Issue 1824403002: Add logging for headers sent and received in BidirectionalStreamQuicImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/bidirectional_stream_quic_impl.h" 5 #include "net/quic/bidirectional_stream_quic_impl.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
13 #include "base/run_loop.h" 13 #include "base/run_loop.h"
14 #include "base/strings/string_number_conversions.h" 14 #include "base/strings/string_number_conversions.h"
15 #include "net/base/net_errors.h" 15 #include "net/base/net_errors.h"
16 #include "net/http/bidirectional_stream_request_info.h" 16 #include "net/http/bidirectional_stream_request_info.h"
17 #include "net/http/transport_security_state.h" 17 #include "net/http/transport_security_state.h"
18 #include "net/log/test_net_log.h"
19 #include "net/log/test_net_log_util.h"
18 #include "net/quic/crypto/crypto_protocol.h" 20 #include "net/quic/crypto/crypto_protocol.h"
19 #include "net/quic/crypto/quic_decrypter.h" 21 #include "net/quic/crypto/quic_decrypter.h"
20 #include "net/quic/crypto/quic_encrypter.h" 22 #include "net/quic/crypto/quic_encrypter.h"
21 #include "net/quic/crypto/quic_server_info.h" 23 #include "net/quic/crypto/quic_server_info.h"
22 #include "net/quic/quic_chromium_client_session.h" 24 #include "net/quic/quic_chromium_client_session.h"
23 #include "net/quic/quic_chromium_client_stream.h" 25 #include "net/quic/quic_chromium_client_stream.h"
24 #include "net/quic/quic_chromium_connection_helper.h" 26 #include "net/quic/quic_chromium_connection_helper.h"
25 #include "net/quic/quic_chromium_packet_reader.h" 27 #include "net/quic/quic_chromium_packet_reader.h"
26 #include "net/quic/quic_chromium_packet_writer.h" 28 #include "net/quic/quic_chromium_packet_writer.h"
27 #include "net/quic/quic_connection.h" 29 #include "net/quic/quic_connection.h"
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 struct PacketToWrite { 267 struct PacketToWrite {
266 PacketToWrite(IoMode mode, QuicEncryptedPacket* packet) 268 PacketToWrite(IoMode mode, QuicEncryptedPacket* packet)
267 : mode(mode), packet(packet) {} 269 : mode(mode), packet(packet) {}
268 PacketToWrite(IoMode mode, int rv) : mode(mode), packet(nullptr), rv(rv) {} 270 PacketToWrite(IoMode mode, int rv) : mode(mode), packet(nullptr), rv(rv) {}
269 IoMode mode; 271 IoMode mode;
270 QuicEncryptedPacket* packet; 272 QuicEncryptedPacket* packet;
271 int rv; 273 int rv;
272 }; 274 };
273 275
274 BidirectionalStreamQuicImplTest() 276 BidirectionalStreamQuicImplTest()
275 : net_log_(BoundNetLog()), 277 : crypto_config_(CryptoTestUtils::ProofVerifierForTesting()),
276 crypto_config_(CryptoTestUtils::ProofVerifierForTesting()),
277 read_buffer_(new IOBufferWithSize(4096)), 278 read_buffer_(new IOBufferWithSize(4096)),
278 connection_id_(2), 279 connection_id_(2),
279 stream_id_(kClientDataStreamId1), 280 stream_id_(kClientDataStreamId1),
280 maker_(GetParam(), connection_id_, &clock_, kDefaultServerHostName), 281 maker_(GetParam(), connection_id_, &clock_, kDefaultServerHostName),
281 random_generator_(0) { 282 random_generator_(0) {
282 IPAddressNumber ip; 283 IPAddressNumber ip;
283 CHECK(ParseIPLiteralToNumber("192.0.2.33", &ip)); 284 CHECK(ParseIPLiteralToNumber("192.0.2.33", &ip));
284 peer_addr_ = IPEndPoint(ip, 443); 285 peer_addr_ = IPEndPoint(ip, 443);
285 self_addr_ = IPEndPoint(ip, 8435); 286 self_addr_ = IPEndPoint(ip, 8435);
286 clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(20)); 287 clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(20));
(...skipping 28 matching lines...) Expand all
315 mock_writes_[i] = MockWrite(writes_[i].mode, writes_[i].rv, i); 316 mock_writes_[i] = MockWrite(writes_[i].mode, writes_[i].rv, i);
316 } else { 317 } else {
317 mock_writes_[i] = MockWrite(writes_[i].mode, writes_[i].packet->data(), 318 mock_writes_[i] = MockWrite(writes_[i].mode, writes_[i].packet->data(),
318 writes_[i].packet->length()); 319 writes_[i].packet->length());
319 } 320 }
320 }; 321 };
321 322
322 socket_data_.reset(new StaticSocketDataProvider( 323 socket_data_.reset(new StaticSocketDataProvider(
323 nullptr, 0, mock_writes_.get(), writes_.size())); 324 nullptr, 0, mock_writes_.get(), writes_.size()));
324 325
325 MockUDPClientSocket* socket = 326 MockUDPClientSocket* socket = new MockUDPClientSocket(
mmenke 2016/03/23 20:32:21 Not realted to this CL, but this should be a scope
xunjieli 2016/03/23 22:19:23 You are right. I copied from quic_http_stream_test
326 new MockUDPClientSocket(socket_data_.get(), net_log_.net_log()); 327 socket_data_.get(), net_log().bound().net_log());
327 socket->Connect(peer_addr_); 328 socket->Connect(peer_addr_);
328 runner_ = new TestTaskRunner(&clock_); 329 runner_ = new TestTaskRunner(&clock_);
329 helper_.reset(new QuicChromiumConnectionHelper(runner_.get(), &clock_, 330 helper_.reset(new QuicChromiumConnectionHelper(runner_.get(), &clock_,
330 &random_generator_)); 331 &random_generator_));
331 connection_ = new QuicConnection( 332 connection_ = new QuicConnection(
332 connection_id_, peer_addr_, helper_.get(), 333 connection_id_, peer_addr_, helper_.get(),
333 new QuicChromiumPacketWriter(socket), true /* owns_writer */, 334 new QuicChromiumPacketWriter(socket), true /* owns_writer */,
334 Perspective::IS_CLIENT, SupportedVersions(GetParam())); 335 Perspective::IS_CLIENT, SupportedVersions(GetParam()));
335 336
336 session_.reset(new QuicChromiumClientSession( 337 session_.reset(new QuicChromiumClientSession(
337 connection_, scoped_ptr<DatagramClientSocket>(socket), 338 connection_, scoped_ptr<DatagramClientSocket>(socket),
338 /*stream_factory=*/nullptr, &crypto_client_stream_factory_, &clock_, 339 /*stream_factory=*/nullptr, &crypto_client_stream_factory_, &clock_,
339 &transport_security_state_, make_scoped_ptr((QuicServerInfo*)nullptr), 340 &transport_security_state_, make_scoped_ptr((QuicServerInfo*)nullptr),
340 QuicServerId(kDefaultServerHostName, kDefaultServerPort, 341 QuicServerId(kDefaultServerHostName, kDefaultServerPort,
341 PRIVACY_MODE_DISABLED), 342 PRIVACY_MODE_DISABLED),
342 kQuicYieldAfterPacketsRead, 343 kQuicYieldAfterPacketsRead,
343 QuicTime::Delta::FromMilliseconds(kQuicYieldAfterDurationMilliseconds), 344 QuicTime::Delta::FromMilliseconds(kQuicYieldAfterDurationMilliseconds),
344 /*cert_verify_flags=*/0, DefaultQuicConfig(), &crypto_config_, 345 /*cert_verify_flags=*/0, DefaultQuicConfig(), &crypto_config_,
345 "CONNECTION_UNKNOWN", base::TimeTicks::Now(), &push_promise_index_, 346 "CONNECTION_UNKNOWN", base::TimeTicks::Now(), &push_promise_index_,
346 base::ThreadTaskRunnerHandle::Get().get(), 347 base::ThreadTaskRunnerHandle::Get().get(),
347 /*socket_performance_watcher=*/nullptr, nullptr)); 348 /*socket_performance_watcher=*/nullptr, net_log().bound().net_log()));
348 session_->Initialize(); 349 session_->Initialize();
349 session_->GetCryptoStream()->CryptoConnect(); 350 session_->GetCryptoStream()->CryptoConnect();
350 EXPECT_TRUE(session_->IsCryptoHandshakeConfirmed()); 351 EXPECT_TRUE(session_->IsCryptoHandshakeConfirmed());
351 } 352 }
352 353
353 void SetRequest(const std::string& method, 354 void SetRequest(const std::string& method,
354 const std::string& path, 355 const std::string& path,
355 RequestPriority priority) { 356 RequestPriority priority) {
356 request_headers_ = maker_.GetRequestHeaders(method, "http", path); 357 request_headers_ = maker_.GetRequestHeaders(method, "http", path);
357 } 358 }
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 } 452 }
452 453
453 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( 454 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket(
454 QuicPacketNumber packet_number, 455 QuicPacketNumber packet_number,
455 QuicPacketNumber largest_received, 456 QuicPacketNumber largest_received,
456 QuicPacketNumber least_unacked) { 457 QuicPacketNumber least_unacked) {
457 return maker_.MakeAckPacket(packet_number, largest_received, least_unacked, 458 return maker_.MakeAckPacket(packet_number, largest_received, least_unacked,
458 !kIncludeCongestionFeedback); 459 !kIncludeCongestionFeedback);
459 } 460 }
460 461
461 const BoundNetLog& net_log() const { return net_log_; } 462 const BoundTestNetLog& net_log() const { return net_log_; }
mmenke 2016/03/23 20:32:21 This should be a TestNetLog BoundTestNetLog is fo
mmenke 2016/03/23 22:11:59 Oops...intended to delete this comment - looks lik
xunjieli 2016/03/23 22:19:23 Acknowledged.
462 463
463 QuicChromiumClientSession* session() const { return session_.get(); } 464 QuicChromiumClientSession* session() const { return session_.get(); }
464 465
465 private: 466 private:
466 BoundNetLog net_log_; 467 BoundTestNetLog net_log_;
467 scoped_refptr<TestTaskRunner> runner_; 468 scoped_refptr<TestTaskRunner> runner_;
468 scoped_ptr<MockWrite[]> mock_writes_; 469 scoped_ptr<MockWrite[]> mock_writes_;
469 MockClock clock_; 470 MockClock clock_;
470 QuicConnection* connection_; 471 QuicConnection* connection_;
471 scoped_ptr<QuicChromiumConnectionHelper> helper_; 472 scoped_ptr<QuicChromiumConnectionHelper> helper_;
472 TransportSecurityState transport_security_state_; 473 TransportSecurityState transport_security_state_;
473 scoped_ptr<QuicChromiumClientSession> session_; 474 scoped_ptr<QuicChromiumClientSession> session_;
474 QuicCryptoClientConfig crypto_config_; 475 QuicCryptoClientConfig crypto_config_;
475 HttpRequestHeaders headers_; 476 HttpRequestHeaders headers_;
476 HttpResponseInfo response_; 477 HttpResponseInfo response_;
(...skipping 26 matching lines...) Expand all
503 504
504 BidirectionalStreamRequestInfo request; 505 BidirectionalStreamRequestInfo request;
505 request.method = "GET"; 506 request.method = "GET";
506 request.url = GURL("http://www.google.com/"); 507 request.url = GURL("http://www.google.com/");
507 request.end_stream_on_headers = true; 508 request.end_stream_on_headers = true;
508 request.priority = DEFAULT_PRIORITY; 509 request.priority = DEFAULT_PRIORITY;
509 510
510 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 511 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
511 scoped_ptr<TestDelegateBase> delegate( 512 scoped_ptr<TestDelegateBase> delegate(
512 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); 513 new TestDelegateBase(read_buffer.get(), kReadBufferSize));
513 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 514 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
514 delegate->WaitUntilNextCallback(); // OnHeadersSent 515 delegate->WaitUntilNextCallback(); // OnHeadersSent
515 516
516 // Server acks the request. 517 // Server acks the request.
517 ProcessPacket(ConstructAckPacket(1, 0, 0)); 518 ProcessPacket(ConstructAckPacket(1, 0, 0));
518 519
519 // Server sends the response headers. 520 // Server sends the response headers.
520 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); 521 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200");
521 522
522 size_t spdy_response_headers_frame_length; 523 size_t spdy_response_headers_frame_length;
523 QuicStreamOffset offset = 0; 524 QuicStreamOffset offset = 0;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 559
559 EXPECT_EQ(2, delegate->on_data_read_count()); 560 EXPECT_EQ(2, delegate->on_data_read_count());
560 EXPECT_EQ(0, delegate->on_data_sent_count()); 561 EXPECT_EQ(0, delegate->on_data_sent_count());
561 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol()); 562 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol());
562 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length), 563 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length),
563 delegate->GetTotalSentBytes()); 564 delegate->GetTotalSentBytes());
564 EXPECT_EQ( 565 EXPECT_EQ(
565 static_cast<int64_t>(spdy_response_headers_frame_length + 566 static_cast<int64_t>(spdy_response_headers_frame_length +
566 strlen(kResponseBody) + spdy_trailers_frame_length), 567 strlen(kResponseBody) + spdy_trailers_frame_length),
567 delegate->GetTotalReceivedBytes()); 568 delegate->GetTotalReceivedBytes());
569 // Check that NetLog was filled as expected.
570 TestNetLogEntry::List entries;
571 net_log().GetEntries(&entries);
572 size_t pos = ExpectLogContainsSomewhere(
573 entries, /*min_offset=*/0,
574 NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS,
575 NetLog::PHASE_NONE);
576 pos = ExpectLogContainsSomewhere(
577 entries, /*min_offset=*/pos,
578 NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS,
579 NetLog::PHASE_NONE);
580 ExpectLogContainsSomewhere(
581 entries, /*min_offset=*/pos,
582 NetLog::TYPE_QUIC_CHROMIUM_CLIENT_STREAM_SEND_REQUEST_HEADERS,
583 NetLog::PHASE_NONE);
568 } 584 }
569 585
570 TEST_P(BidirectionalStreamQuicImplTest, PostRequest) { 586 TEST_P(BidirectionalStreamQuicImplTest, PostRequest) {
571 SetRequest("POST", "/", DEFAULT_PRIORITY); 587 SetRequest("POST", "/", DEFAULT_PRIORITY);
572 size_t spdy_request_headers_frame_length; 588 size_t spdy_request_headers_frame_length;
573 AddWrite(ConstructRequestHeadersPacket(1, !kFin, DEFAULT_PRIORITY, 589 AddWrite(ConstructRequestHeadersPacket(1, !kFin, DEFAULT_PRIORITY,
574 &spdy_request_headers_frame_length)); 590 &spdy_request_headers_frame_length));
575 AddWrite(ConstructDataPacket(2, kIncludeVersion, kFin, 0, kUploadData)); 591 AddWrite(ConstructDataPacket(2, kIncludeVersion, kFin, 0, kUploadData));
576 AddWrite(ConstructAckPacket(3, 3, 1)); 592 AddWrite(ConstructAckPacket(3, 3, 1));
577 593
578 Initialize(); 594 Initialize();
579 595
580 BidirectionalStreamRequestInfo request; 596 BidirectionalStreamRequestInfo request;
581 request.method = "POST"; 597 request.method = "POST";
582 request.url = GURL("http://www.google.com/"); 598 request.url = GURL("http://www.google.com/");
583 request.end_stream_on_headers = false; 599 request.end_stream_on_headers = false;
584 request.priority = DEFAULT_PRIORITY; 600 request.priority = DEFAULT_PRIORITY;
585 601
586 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 602 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
587 scoped_ptr<TestDelegateBase> delegate( 603 scoped_ptr<TestDelegateBase> delegate(
588 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); 604 new TestDelegateBase(read_buffer.get(), kReadBufferSize));
589 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 605 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
590 delegate->WaitUntilNextCallback(); // OnHeadersSent 606 delegate->WaitUntilNextCallback(); // OnHeadersSent
591 607
592 // Send a DATA frame. 608 // Send a DATA frame.
593 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(kUploadData)); 609 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(kUploadData));
594 610
595 delegate->SendData(buf.get(), buf->size(), true); 611 delegate->SendData(buf.get(), buf->size(), true);
596 delegate->WaitUntilNextCallback(); // OnDataSent 612 delegate->WaitUntilNextCallback(); // OnDataSent
597 613
598 // Server acks the request. 614 // Server acks the request.
599 ProcessPacket(ConstructAckPacket(1, 0, 0)); 615 ProcessPacket(ConstructAckPacket(1, 0, 0));
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 672
657 BidirectionalStreamRequestInfo request; 673 BidirectionalStreamRequestInfo request;
658 request.method = "POST"; 674 request.method = "POST";
659 request.url = GURL("http://www.google.com/"); 675 request.url = GURL("http://www.google.com/");
660 request.end_stream_on_headers = false; 676 request.end_stream_on_headers = false;
661 request.priority = DEFAULT_PRIORITY; 677 request.priority = DEFAULT_PRIORITY;
662 678
663 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 679 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
664 scoped_ptr<TestDelegateBase> delegate( 680 scoped_ptr<TestDelegateBase> delegate(
665 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); 681 new TestDelegateBase(read_buffer.get(), kReadBufferSize));
666 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 682 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
667 delegate->WaitUntilNextCallback(); // OnHeadersSent 683 delegate->WaitUntilNextCallback(); // OnHeadersSent
668 684
669 // Server acks the request. 685 // Server acks the request.
670 ProcessPacket(ConstructAckPacket(1, 0, 0)); 686 ProcessPacket(ConstructAckPacket(1, 0, 0));
671 687
672 // Server sends the response headers. 688 // Server sends the response headers.
673 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); 689 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200");
674 size_t spdy_response_headers_frame_length; 690 size_t spdy_response_headers_frame_length;
675 ProcessPacket(ConstructResponseHeadersPacket( 691 ProcessPacket(ConstructResponseHeadersPacket(
676 2, !kFin, response_headers, &spdy_response_headers_frame_length, 0)); 692 2, !kFin, response_headers, &spdy_response_headers_frame_length, 0));
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
733 749
734 BidirectionalStreamRequestInfo request; 750 BidirectionalStreamRequestInfo request;
735 request.method = "GET"; 751 request.method = "GET";
736 request.url = GURL("http://www.google.com/"); 752 request.url = GURL("http://www.google.com/");
737 request.end_stream_on_headers = true; 753 request.end_stream_on_headers = true;
738 request.priority = DEFAULT_PRIORITY; 754 request.priority = DEFAULT_PRIORITY;
739 755
740 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 756 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
741 scoped_ptr<TestDelegateBase> delegate( 757 scoped_ptr<TestDelegateBase> delegate(
742 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); 758 new TestDelegateBase(read_buffer.get(), kReadBufferSize));
743 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 759 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
744 delegate->WaitUntilNextCallback(); // OnHeadersSent 760 delegate->WaitUntilNextCallback(); // OnHeadersSent
745 761
746 // Server sends a Rst. 762 // Server sends a Rst.
747 ProcessPacket(ConstructRstStreamPacket(1)); 763 ProcessPacket(ConstructRstStreamPacket(1));
748 764
749 delegate->WaitUntilNextCallback(); // OnFailed 765 delegate->WaitUntilNextCallback(); // OnFailed
750 TestCompletionCallback cb; 766 TestCompletionCallback cb;
751 EXPECT_EQ(ERR_QUIC_PROTOCOL_ERROR, delegate->ReadData(cb.callback())); 767 EXPECT_EQ(ERR_QUIC_PROTOCOL_ERROR, delegate->ReadData(cb.callback()));
752 768
753 base::MessageLoop::current()->RunUntilIdle(); 769 base::MessageLoop::current()->RunUntilIdle();
(...skipping 18 matching lines...) Expand all
772 788
773 BidirectionalStreamRequestInfo request; 789 BidirectionalStreamRequestInfo request;
774 request.method = "GET"; 790 request.method = "GET";
775 request.url = GURL("http://www.google.com/"); 791 request.url = GURL("http://www.google.com/");
776 request.end_stream_on_headers = true; 792 request.end_stream_on_headers = true;
777 request.priority = DEFAULT_PRIORITY; 793 request.priority = DEFAULT_PRIORITY;
778 794
779 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 795 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
780 scoped_ptr<TestDelegateBase> delegate( 796 scoped_ptr<TestDelegateBase> delegate(
781 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); 797 new TestDelegateBase(read_buffer.get(), kReadBufferSize));
782 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 798 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
783 delegate->WaitUntilNextCallback(); // OnHeadersSent 799 delegate->WaitUntilNextCallback(); // OnHeadersSent
784 800
785 // Server acks the request. 801 // Server acks the request.
786 ProcessPacket(ConstructAckPacket(1, 0, 0)); 802 ProcessPacket(ConstructAckPacket(1, 0, 0));
787 803
788 // Server sends the response headers. 804 // Server sends the response headers.
789 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); 805 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200");
790 806
791 size_t spdy_response_headers_frame_length; 807 size_t spdy_response_headers_frame_length;
792 QuicStreamOffset offset = 0; 808 QuicStreamOffset offset = 0;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
829 845
830 BidirectionalStreamRequestInfo request; 846 BidirectionalStreamRequestInfo request;
831 request.method = "POST"; 847 request.method = "POST";
832 request.url = GURL("http://www.google.com/"); 848 request.url = GURL("http://www.google.com/");
833 request.end_stream_on_headers = false; 849 request.end_stream_on_headers = false;
834 request.priority = DEFAULT_PRIORITY; 850 request.priority = DEFAULT_PRIORITY;
835 851
836 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 852 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
837 scoped_ptr<TestDelegateBase> delegate( 853 scoped_ptr<TestDelegateBase> delegate(
838 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); 854 new TestDelegateBase(read_buffer.get(), kReadBufferSize));
839 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 855 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
840 delegate->WaitUntilNextCallback(); // OnHeadersSent 856 delegate->WaitUntilNextCallback(); // OnHeadersSent
841 857
842 // Server acks the request. 858 // Server acks the request.
843 ProcessPacket(ConstructAckPacket(1, 0, 0)); 859 ProcessPacket(ConstructAckPacket(1, 0, 0));
844 860
845 // Server sends the response headers. 861 // Server sends the response headers.
846 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); 862 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200");
847 size_t spdy_response_headers_frame_length; 863 size_t spdy_response_headers_frame_length;
848 ProcessPacket(ConstructResponseHeadersPacket( 864 ProcessPacket(ConstructResponseHeadersPacket(
849 2, !kFin, response_headers, &spdy_response_headers_frame_length, 0)); 865 2, !kFin, response_headers, &spdy_response_headers_frame_length, 0));
(...skipping 29 matching lines...) Expand all
879 895
880 BidirectionalStreamRequestInfo request; 896 BidirectionalStreamRequestInfo request;
881 request.method = "GET"; 897 request.method = "GET";
882 request.url = GURL("http://www.google.com/"); 898 request.url = GURL("http://www.google.com/");
883 request.end_stream_on_headers = true; 899 request.end_stream_on_headers = true;
884 request.priority = DEFAULT_PRIORITY; 900 request.priority = DEFAULT_PRIORITY;
885 901
886 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 902 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
887 scoped_ptr<TestDelegateBase> delegate( 903 scoped_ptr<TestDelegateBase> delegate(
888 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); 904 new TestDelegateBase(read_buffer.get(), kReadBufferSize));
889 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 905 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
890 delegate->WaitUntilNextCallback(); // OnHeadersSent 906 delegate->WaitUntilNextCallback(); // OnHeadersSent
891 907
892 // Server acks the request. 908 // Server acks the request.
893 ProcessPacket(ConstructAckPacket(1, 0, 0)); 909 ProcessPacket(ConstructAckPacket(1, 0, 0));
894 910
895 // Server sends the response headers. 911 // Server sends the response headers.
896 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); 912 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200");
897 913
898 size_t spdy_response_headers_frame_length; 914 size_t spdy_response_headers_frame_length;
899 QuicStreamOffset offset = 0; 915 QuicStreamOffset offset = 0;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 949
934 BidirectionalStreamRequestInfo request; 950 BidirectionalStreamRequestInfo request;
935 request.method = "POST"; 951 request.method = "POST";
936 request.url = GURL("http://www.google.com/"); 952 request.url = GURL("http://www.google.com/");
937 request.end_stream_on_headers = false; 953 request.end_stream_on_headers = false;
938 request.priority = DEFAULT_PRIORITY; 954 request.priority = DEFAULT_PRIORITY;
939 955
940 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 956 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
941 scoped_ptr<TestDelegateBase> delegate( 957 scoped_ptr<TestDelegateBase> delegate(
942 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); 958 new TestDelegateBase(read_buffer.get(), kReadBufferSize));
943 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 959 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
944 delegate->WaitUntilNextCallback(); // OnHeadersSent 960 delegate->WaitUntilNextCallback(); // OnHeadersSent
945 961
946 // Server acks the request. 962 // Server acks the request.
947 ProcessPacket(ConstructAckPacket(1, 0, 0)); 963 ProcessPacket(ConstructAckPacket(1, 0, 0));
948 964
949 // Server sends the response headers. 965 // Server sends the response headers.
950 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); 966 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200");
951 size_t spdy_response_headers_frame_length; 967 size_t spdy_response_headers_frame_length;
952 ProcessPacket(ConstructResponseHeadersPacket( 968 ProcessPacket(ConstructResponseHeadersPacket(
953 2, !kFin, response_headers, &spdy_response_headers_frame_length, 0)); 969 2, !kFin, response_headers, &spdy_response_headers_frame_length, 0));
(...skipping 29 matching lines...) Expand all
983 BidirectionalStreamRequestInfo request; 999 BidirectionalStreamRequestInfo request;
984 request.method = "POST"; 1000 request.method = "POST";
985 request.url = GURL("http://www.google.com/"); 1001 request.url = GURL("http://www.google.com/");
986 request.end_stream_on_headers = false; 1002 request.end_stream_on_headers = false;
987 request.priority = DEFAULT_PRIORITY; 1003 request.priority = DEFAULT_PRIORITY;
988 1004
989 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 1005 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
990 scoped_ptr<DeleteStreamDelegate> delegate(new DeleteStreamDelegate( 1006 scoped_ptr<DeleteStreamDelegate> delegate(new DeleteStreamDelegate(
991 read_buffer.get(), kReadBufferSize, 1007 read_buffer.get(), kReadBufferSize,
992 DeleteStreamDelegate::ON_HEADERS_RECEIVED, true)); 1008 DeleteStreamDelegate::ON_HEADERS_RECEIVED, true));
993 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 1009 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
994 delegate->WaitUntilNextCallback(); // OnHeadersSent 1010 delegate->WaitUntilNextCallback(); // OnHeadersSent
995 1011
996 // Server acks the request. 1012 // Server acks the request.
997 ProcessPacket(ConstructAckPacket(1, 0, 0)); 1013 ProcessPacket(ConstructAckPacket(1, 0, 0));
998 1014
999 // Server sends the response headers. 1015 // Server sends the response headers.
1000 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); 1016 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200");
1001 1017
1002 size_t spdy_response_headers_frame_length; 1018 size_t spdy_response_headers_frame_length;
1003 ProcessPacket(ConstructResponseHeadersPacket( 1019 ProcessPacket(ConstructResponseHeadersPacket(
(...skipping 22 matching lines...) Expand all
1026 BidirectionalStreamRequestInfo request; 1042 BidirectionalStreamRequestInfo request;
1027 request.method = "POST"; 1043 request.method = "POST";
1028 request.url = GURL("http://www.google.com/"); 1044 request.url = GURL("http://www.google.com/");
1029 request.end_stream_on_headers = false; 1045 request.end_stream_on_headers = false;
1030 request.priority = DEFAULT_PRIORITY; 1046 request.priority = DEFAULT_PRIORITY;
1031 1047
1032 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 1048 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
1033 scoped_ptr<DeleteStreamDelegate> delegate( 1049 scoped_ptr<DeleteStreamDelegate> delegate(
1034 new DeleteStreamDelegate(read_buffer.get(), kReadBufferSize, 1050 new DeleteStreamDelegate(read_buffer.get(), kReadBufferSize,
1035 DeleteStreamDelegate::ON_DATA_READ, true)); 1051 DeleteStreamDelegate::ON_DATA_READ, true));
1036 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 1052 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
1037 delegate->WaitUntilNextCallback(); // OnHeadersSent 1053 delegate->WaitUntilNextCallback(); // OnHeadersSent
1038 1054
1039 // Server acks the request. 1055 // Server acks the request.
1040 ProcessPacket(ConstructAckPacket(1, 0, 0)); 1056 ProcessPacket(ConstructAckPacket(1, 0, 0));
1041 1057
1042 // Server sends the response headers. 1058 // Server sends the response headers.
1043 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); 1059 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200");
1044 1060
1045 size_t spdy_response_headers_frame_length; 1061 size_t spdy_response_headers_frame_length;
1046 ProcessPacket(ConstructResponseHeadersPacket( 1062 ProcessPacket(ConstructResponseHeadersPacket(
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 BidirectionalStreamRequestInfo request; 1094 BidirectionalStreamRequestInfo request;
1079 request.method = "GET"; 1095 request.method = "GET";
1080 request.url = GURL("http://www.google.com/"); 1096 request.url = GURL("http://www.google.com/");
1081 request.end_stream_on_headers = true; 1097 request.end_stream_on_headers = true;
1082 request.priority = DEFAULT_PRIORITY; 1098 request.priority = DEFAULT_PRIORITY;
1083 1099
1084 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); 1100 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize));
1085 scoped_ptr<DeleteStreamDelegate> delegate(new DeleteStreamDelegate( 1101 scoped_ptr<DeleteStreamDelegate> delegate(new DeleteStreamDelegate(
1086 read_buffer.get(), kReadBufferSize, 1102 read_buffer.get(), kReadBufferSize,
1087 DeleteStreamDelegate::ON_TRAILERS_RECEIVED, true)); 1103 DeleteStreamDelegate::ON_TRAILERS_RECEIVED, true));
1088 delegate->Start(&request, net_log(), session()->GetWeakPtr()); 1104 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr());
1089 delegate->WaitUntilNextCallback(); // OnHeadersSent 1105 delegate->WaitUntilNextCallback(); // OnHeadersSent
1090 1106
1091 // Server acks the request. 1107 // Server acks the request.
1092 ProcessPacket(ConstructAckPacket(1, 0, 0)); 1108 ProcessPacket(ConstructAckPacket(1, 0, 0));
1093 1109
1094 // Server sends the response headers. 1110 // Server sends the response headers.
1095 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); 1111 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200");
1096 1112
1097 QuicStreamOffset offset = 0; 1113 QuicStreamOffset offset = 0;
1098 size_t spdy_response_headers_frame_length; 1114 size_t spdy_response_headers_frame_length;
(...skipping 30 matching lines...) Expand all
1129 1145
1130 base::MessageLoop::current()->RunUntilIdle(); 1146 base::MessageLoop::current()->RunUntilIdle();
1131 1147
1132 EXPECT_EQ(1, delegate->on_data_read_count()); 1148 EXPECT_EQ(1, delegate->on_data_read_count());
1133 EXPECT_EQ(0, delegate->on_data_sent_count()); 1149 EXPECT_EQ(0, delegate->on_data_sent_count());
1134 } 1150 }
1135 1151
1136 } // namespace test 1152 } // namespace test
1137 1153
1138 } // namespace net 1154 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698