diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-25 18:14:29 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-25 18:14:29 +0000 |
commit | 72f2a144addea5e57bebdc8ede9665569f588c6f (patch) | |
tree | f35d0fdf4521ddb875880b089816155a2f9b91f0 /net/url_request/url_request.h | |
parent | 52b0f0ca254e56b1cdd2d40eeb47e18b3e800a8e (diff) | |
download | chromium_src-72f2a144addea5e57bebdc8ede9665569f588c6f.zip chromium_src-72f2a144addea5e57bebdc8ede9665569f588c6f.tar.gz chromium_src-72f2a144addea5e57bebdc8ede9665569f588c6f.tar.bz2 |
Prioritize which HTTP requests get a socket first by adding a priority level to various methods and classes. Fix lint errors along the way.
R=darin,wtc
BUG=8993
Review URL: http://codereview.chromium.org/42541
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12470 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request/url_request.h')
-rw-r--r-- | net/url_request/url_request.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/net/url_request/url_request.h b/net/url_request/url_request.h index a16080f..d45e510 100644 --- a/net/url_request/url_request.h +++ b/net/url_request/url_request.h @@ -8,6 +8,7 @@ #include <string> #include <vector> +#include "base/logging.h" #include "base/ref_counted.h" #include "googleurl/src/gurl.h" #include "net/base/load_states.h" @@ -15,16 +16,14 @@ #include "net/url_request/url_request_status.h" namespace base { - class Time; -} +class Time; +} // namespace base namespace net { - class IOBuffer; class UploadData; class X509Certificate; - -} +} // namespace net class URLRequestContext; class URLRequestJob; @@ -431,12 +430,20 @@ class URLRequest { // Returns the expected content size if available int64 GetExpectedContentSize() const; + // Returns the priority level for this request. A larger value indicates + // higher priority. Negative values are not used. + int priority() const { return priority_; } + void set_priority(int priority) { + DCHECK_GE(priority, 0); + priority_ = priority; + } + protected: // Allow the URLRequestJob class to control the is_pending() flag. void set_is_pending(bool value) { is_pending_ = value; } // Allow the URLRequestJob class to set our status too - void set_status(const URLRequestStatus &value) { status_ = value; } + void set_status(const URLRequestStatus& value) { status_ = value; } // Allow the URLRequestJob to redirect this request. Returns net::OK if // successful, otherwise an error code is returned. @@ -505,6 +512,10 @@ class URLRequest { // first transaction in a request involving redirects. uint64 final_upload_progress_; + // The priority level for this request. Objects like ClientSocketPool use + // this to determine which URLRequest to allocate sockets to first. + int priority_; + DISALLOW_COPY_AND_ASSIGN(URLRequest); }; |