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

Side by Side Diff: net/http/http_cache_transaction.cc

Issue 1006643002: Plumb connection attempts from (non-proxy) ConnectJobs to HttpNetworkTransaction. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase, resolve conflict Created 5 years, 7 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
« no previous file with comments | « net/http/http_cache_transaction.h ('k') | net/http/http_network_transaction.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 (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/http/http_cache_transaction.h" 5 #include "net/http/http_cache_transaction.h"
6 6
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 8
9 #if defined(OS_POSIX) 9 #if defined(OS_POSIX)
10 #include <unistd.h> 10 #include <unistd.h>
(...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 DCHECK(!network_trans_); 644 DCHECK(!network_trans_);
645 before_proxy_headers_sent_callback_ = callback; 645 before_proxy_headers_sent_callback_ = callback;
646 } 646 }
647 647
648 int HttpCache::Transaction::ResumeNetworkStart() { 648 int HttpCache::Transaction::ResumeNetworkStart() {
649 if (network_trans_) 649 if (network_trans_)
650 return network_trans_->ResumeNetworkStart(); 650 return network_trans_->ResumeNetworkStart();
651 return ERR_UNEXPECTED; 651 return ERR_UNEXPECTED;
652 } 652 }
653 653
654 void HttpCache::Transaction::GetConnectionAttempts(
655 ConnectionAttempts* out) const {
656 ConnectionAttempts new_connection_attempts;
657 if (network_trans_)
658 network_trans_->GetConnectionAttempts(&new_connection_attempts);
659
660 out->swap(new_connection_attempts);
661 out->insert(out->begin(), old_connection_attempts_.begin(),
662 old_connection_attempts_.end());
663 }
664
654 //----------------------------------------------------------------------------- 665 //-----------------------------------------------------------------------------
655 666
656 void HttpCache::Transaction::DoCallback(int rv) { 667 void HttpCache::Transaction::DoCallback(int rv) {
657 DCHECK(rv != ERR_IO_PENDING); 668 DCHECK(rv != ERR_IO_PENDING);
658 DCHECK(!callback_.is_null()); 669 DCHECK(!callback_.is_null());
659 670
660 read_buf_ = NULL; // Release the buffer before invoking the callback. 671 read_buf_ = NULL; // Release the buffer before invoking the callback.
661 672
662 // Since Run may result in Read being called, clear callback_ up front. 673 // Since Run may result in Read being called, clear callback_ up front.
663 CompletionCallback c = callback_; 674 CompletionCallback c = callback_;
(...skipping 2173 matching lines...) Expand 10 before | Expand all | Expand 10 after
2837 } 2848 }
2838 } 2849 }
2839 2850
2840 void HttpCache::Transaction::ResetNetworkTransaction() { 2851 void HttpCache::Transaction::ResetNetworkTransaction() {
2841 DCHECK(!old_network_trans_load_timing_); 2852 DCHECK(!old_network_trans_load_timing_);
2842 DCHECK(network_trans_); 2853 DCHECK(network_trans_);
2843 LoadTimingInfo load_timing; 2854 LoadTimingInfo load_timing;
2844 if (network_trans_->GetLoadTimingInfo(&load_timing)) 2855 if (network_trans_->GetLoadTimingInfo(&load_timing))
2845 old_network_trans_load_timing_.reset(new LoadTimingInfo(load_timing)); 2856 old_network_trans_load_timing_.reset(new LoadTimingInfo(load_timing));
2846 total_received_bytes_ += network_trans_->GetTotalReceivedBytes(); 2857 total_received_bytes_ += network_trans_->GetTotalReceivedBytes();
2858 ConnectionAttempts attempts;
2859 network_trans_->GetConnectionAttempts(&attempts);
2860 for (const auto& attempt : attempts)
2861 old_connection_attempts_.push_back(attempt);
2847 network_trans_.reset(); 2862 network_trans_.reset();
2848 } 2863 }
2849 2864
2850 // Histogram data from the end of 2010 show the following distribution of 2865 // Histogram data from the end of 2010 show the following distribution of
2851 // response headers: 2866 // response headers:
2852 // 2867 //
2853 // Content-Length............... 87% 2868 // Content-Length............... 87%
2854 // Date......................... 98% 2869 // Date......................... 98%
2855 // Last-Modified................ 49% 2870 // Last-Modified................ 49%
2856 // Etag......................... 19% 2871 // Etag......................... 19%
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
2964 default: 2979 default:
2965 NOTREACHED(); 2980 NOTREACHED();
2966 } 2981 }
2967 } 2982 }
2968 2983
2969 void HttpCache::Transaction::OnIOComplete(int result) { 2984 void HttpCache::Transaction::OnIOComplete(int result) {
2970 DoLoop(result); 2985 DoLoop(result);
2971 } 2986 }
2972 2987
2973 } // namespace net 2988 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_cache_transaction.h ('k') | net/http/http_network_transaction.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698