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/tools/quic/test_tools/quic_test_client.h" | 5 #include "net/tools/quic/test_tools/quic_test_client.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 } | 285 } |
286 while (client()->WaitForEvents()) { | 286 while (client()->WaitForEvents()) { |
287 } | 287 } |
288 return; | 288 return; |
289 } | 289 } |
290 | 290 |
291 ssize_t QuicTestClient::GetOrCreateStreamAndSendRequest( | 291 ssize_t QuicTestClient::GetOrCreateStreamAndSendRequest( |
292 const SpdyHeaderBlock* headers, | 292 const SpdyHeaderBlock* headers, |
293 StringPiece body, | 293 StringPiece body, |
294 bool fin, | 294 bool fin, |
295 scoped_refptr<QuicAckListenerInterface> delegate) { | 295 QuicReferenceCountedPointer<QuicAckListenerInterface> delegate) { |
296 if (headers) { | 296 if (headers) { |
297 QuicClientPushPromiseIndex::TryHandle* handle; | 297 QuicClientPushPromiseIndex::TryHandle* handle; |
298 QuicAsyncStatus rv = | 298 QuicAsyncStatus rv = |
299 client()->push_promise_index()->Try(*headers, this, &handle); | 299 client()->push_promise_index()->Try(*headers, this, &handle); |
300 if (rv == QUIC_SUCCESS) | 300 if (rv == QUIC_SUCCESS) |
301 return 1; | 301 return 1; |
302 if (rv == QUIC_PENDING) { | 302 if (rv == QUIC_PENDING) { |
303 // May need to retry request if asynchronous rendezvous fails. | 303 // May need to retry request if asynchronous rendezvous fails. |
304 std::unique_ptr<SpdyHeaderBlock> new_headers( | 304 std::unique_ptr<SpdyHeaderBlock> new_headers( |
305 new SpdyHeaderBlock(headers->Clone())); | 305 new SpdyHeaderBlock(headers->Clone())); |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 return ret; | 370 return ret; |
371 } | 371 } |
372 | 372 |
373 ssize_t QuicTestClient::SendData(const string& data, bool last_data) { | 373 ssize_t QuicTestClient::SendData(const string& data, bool last_data) { |
374 return SendData(data, last_data, nullptr); | 374 return SendData(data, last_data, nullptr); |
375 } | 375 } |
376 | 376 |
377 ssize_t QuicTestClient::SendData( | 377 ssize_t QuicTestClient::SendData( |
378 const string& data, | 378 const string& data, |
379 bool last_data, | 379 bool last_data, |
380 scoped_refptr<QuicAckListenerInterface> delegate) { | 380 QuicReferenceCountedPointer<QuicAckListenerInterface> delegate) { |
381 return GetOrCreateStreamAndSendRequest(nullptr, StringPiece(data), last_data, | 381 return GetOrCreateStreamAndSendRequest(nullptr, StringPiece(data), last_data, |
382 std::move(delegate)); | 382 std::move(delegate)); |
383 } | 383 } |
384 | 384 |
385 bool QuicTestClient::response_complete() const { | 385 bool QuicTestClient::response_complete() const { |
386 return response_complete_; | 386 return response_complete_; |
387 } | 387 } |
388 | 388 |
389 int64_t QuicTestClient::response_body_size() const { | 389 int64_t QuicTestClient::response_body_size() const { |
390 return response_body_size_; | 390 return response_body_size_; |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 while (connected() && client()->session()->HasDataToWrite()) { | 670 while (connected() && client()->session()->HasDataToWrite()) { |
671 client_->WaitForEvents(); | 671 client_->WaitForEvents(); |
672 } | 672 } |
673 } | 673 } |
674 | 674 |
675 QuicTestClient::TestClientDataToResend::TestClientDataToResend( | 675 QuicTestClient::TestClientDataToResend::TestClientDataToResend( |
676 std::unique_ptr<SpdyHeaderBlock> headers, | 676 std::unique_ptr<SpdyHeaderBlock> headers, |
677 base::StringPiece body, | 677 base::StringPiece body, |
678 bool fin, | 678 bool fin, |
679 QuicTestClient* test_client, | 679 QuicTestClient* test_client, |
680 scoped_refptr<QuicAckListenerInterface> delegate) | 680 QuicReferenceCountedPointer<QuicAckListenerInterface> delegate) |
681 : QuicClient::QuicDataToResend(std::move(headers), body, fin), | 681 : QuicClient::QuicDataToResend(std::move(headers), body, fin), |
682 test_client_(test_client), | 682 test_client_(test_client), |
683 delegate_(std::move(delegate)) {} | 683 delegate_(std::move(delegate)) {} |
684 | 684 |
685 QuicTestClient::TestClientDataToResend::~TestClientDataToResend() {} | 685 QuicTestClient::TestClientDataToResend::~TestClientDataToResend() {} |
686 | 686 |
687 void QuicTestClient::TestClientDataToResend::Resend() { | 687 void QuicTestClient::TestClientDataToResend::Resend() { |
688 test_client_->GetOrCreateStreamAndSendRequest(headers_.get(), body_, fin_, | 688 test_client_->GetOrCreateStreamAndSendRequest(headers_.get(), body_, fin_, |
689 delegate_); | 689 delegate_); |
690 headers_.reset(); | 690 headers_.reset(); |
691 } | 691 } |
692 | 692 |
693 bool QuicTestClient::PopulateHeaderBlockFromUrl(const string& uri, | 693 bool QuicTestClient::PopulateHeaderBlockFromUrl(const string& uri, |
694 SpdyHeaderBlock* headers) { | 694 SpdyHeaderBlock* headers) { |
695 string url; | 695 string url; |
696 if (base::StartsWith(uri, "https://", base::CompareCase::INSENSITIVE_ASCII) || | 696 if (base::StartsWith(uri, "https://", base::CompareCase::INSENSITIVE_ASCII) || |
697 base::StartsWith(uri, "http://", base::CompareCase::INSENSITIVE_ASCII)) { | 697 base::StartsWith(uri, "http://", base::CompareCase::INSENSITIVE_ASCII)) { |
698 url = uri; | 698 url = uri; |
699 } else if (uri[0] == '/') { | 699 } else if (uri[0] == '/') { |
700 url = "https://" + client_->server_id().host() + uri; | 700 url = "https://" + client_->server_id().host() + uri; |
701 } else { | 701 } else { |
702 url = "https://" + uri; | 702 url = "https://" + uri; |
703 } | 703 } |
704 return SpdyUtils::PopulateHeaderBlockFromUrl(url, headers); | 704 return SpdyUtils::PopulateHeaderBlockFromUrl(url, headers); |
705 } | 705 } |
706 | 706 |
707 } // namespace test | 707 } // namespace test |
708 } // namespace net | 708 } // namespace net |
OLD | NEW |