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

Side by Side Diff: net/url_request/url_request_job.cc

Issue 40319: Use filter context to track stats better in SDCH filtering (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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 | Annotate | Revision Log
« no previous file with comments | « net/url_request/url_request_job.h ('k') | net/url_request/url_request_job_metrics.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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/url_request/url_request_job.h" 5 #include "net/url_request/url_request_job.h"
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "googleurl/src/gurl.h" 9 #include "googleurl/src/gurl.h"
10 #include "net/base/auth.h" 10 #include "net/base/auth.h"
(...skipping 10 matching lines...) Expand all
21 // static 21 // static
22 const int URLRequestJob::kFilterBufSize = 32 * 1024; 22 const int URLRequestJob::kFilterBufSize = 32 * 1024;
23 23
24 URLRequestJob::URLRequestJob(URLRequest* request) 24 URLRequestJob::URLRequestJob(URLRequest* request)
25 : request_(request), 25 : request_(request),
26 done_(false), 26 done_(false),
27 filter_needs_more_output_space_(false), 27 filter_needs_more_output_space_(false),
28 read_buffer_(NULL), 28 read_buffer_(NULL),
29 read_buffer_len_(0), 29 read_buffer_len_(0),
30 has_handled_response_(false), 30 has_handled_response_(false),
31 expected_content_size_(-1) { 31 expected_content_size_(-1),
32 filter_input_byte_count_(0) {
32 is_profiling_ = request->enable_profiling(); 33 is_profiling_ = request->enable_profiling();
33 if (is_profiling()) { 34 if (is_profiling()) {
34 metrics_.reset(new URLRequestJobMetrics()); 35 metrics_.reset(new URLRequestJobMetrics());
35 metrics_->start_time_ = TimeTicks::Now(); 36 metrics_->start_time_ = TimeTicks::Now();
36 } 37 }
37 g_url_request_job_tracker.AddNewJob(this); 38 g_url_request_job_tracker.AddNewJob(this);
38 } 39 }
39 40
40 URLRequestJob::~URLRequestJob() { 41 URLRequestJob::~URLRequestJob() {
41 g_url_request_job_tracker.RemoveJob(this); 42 g_url_request_job_tracker.RemoveJob(this);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 NOTREACHED(); 80 NOTREACHED();
80 } 81 }
81 82
82 void URLRequestJob::ContinueDespiteLastError() { 83 void URLRequestJob::ContinueDespiteLastError() {
83 // Implementations should know how to recover from errors they generate. 84 // Implementations should know how to recover from errors they generate.
84 // If this code was reached, we are trying to recover from an error that 85 // If this code was reached, we are trying to recover from an error that
85 // we don't know how to recover from. 86 // we don't know how to recover from.
86 NOTREACHED(); 87 NOTREACHED();
87 } 88 }
88 89
90 int64 URLRequestJob::GetByteReadCount() const {
91 return filter_input_byte_count_ ;
92 }
93
89 bool URLRequestJob::GetURL(GURL* gurl) const { 94 bool URLRequestJob::GetURL(GURL* gurl) const {
90 if (!request_) 95 if (!request_)
91 return false; 96 return false;
92 *gurl = request_->url(); 97 *gurl = request_->url();
93 return true; 98 return true;
94 } 99 }
95 100
96 base::Time URLRequestJob::GetRequestTime() const { 101 base::Time URLRequestJob::GetRequestTime() const {
97 if (!request_) 102 if (!request_)
98 return base::Time(); 103 return base::Time();
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 int rv = request_->Redirect(location, http_status_code); 503 int rv = request_->Redirect(location, http_status_code);
499 if (rv != net::OK) 504 if (rv != net::OK)
500 NotifyStartError(URLRequestStatus(URLRequestStatus::FAILED, rv)); 505 NotifyStartError(URLRequestStatus(URLRequestStatus::FAILED, rv));
501 } 506 }
502 507
503 void URLRequestJob::RecordBytesRead(int bytes_read) { 508 void URLRequestJob::RecordBytesRead(int bytes_read) {
504 if (is_profiling()) { 509 if (is_profiling()) {
505 ++(metrics_->number_of_read_IO_); 510 ++(metrics_->number_of_read_IO_);
506 metrics_->total_bytes_read_ += bytes_read; 511 metrics_->total_bytes_read_ += bytes_read;
507 } 512 }
513 filter_input_byte_count_ += bytes_read;
508 g_url_request_job_tracker.OnBytesRead(this, bytes_read); 514 g_url_request_job_tracker.OnBytesRead(this, bytes_read);
509 } 515 }
510 516
511 const URLRequestStatus URLRequestJob::GetStatus() { 517 const URLRequestStatus URLRequestJob::GetStatus() {
512 if (request_) 518 if (request_)
513 return request_->status(); 519 return request_->status();
514 // If the request is gone, we must be cancelled. 520 // If the request is gone, we must be cancelled.
515 return URLRequestStatus(URLRequestStatus::CANCELED, 521 return URLRequestStatus(URLRequestStatus::CANCELED,
516 net::ERR_ABORTED); 522 net::ERR_ABORTED);
517 } 523 }
518 524
519 void URLRequestJob::SetStatus(const URLRequestStatus &status) { 525 void URLRequestJob::SetStatus(const URLRequestStatus &status) {
520 if (request_) 526 if (request_)
521 request_->set_status(status); 527 request_->set_status(status);
522 } 528 }
OLDNEW
« no previous file with comments | « net/url_request/url_request_job.h ('k') | net/url_request/url_request_job_metrics.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698