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 #ifndef NET_URL_REQUEST_URL_FETCHER_CORE_H_ | 5 #ifndef NET_URL_REQUEST_URL_FETCHER_CORE_H_ |
6 #define NET_URL_REQUEST_URL_FETCHER_CORE_H_ | 6 #define NET_URL_REQUEST_URL_FETCHER_CORE_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 std::string upload_content_type_; // MIME type of POST payload | 244 std::string upload_content_type_; // MIME type of POST payload |
245 std::string referrer_; // HTTP Referer header value and policy | 245 std::string referrer_; // HTTP Referer header value and policy |
246 URLRequest::ReferrerPolicy referrer_policy_; | 246 URLRequest::ReferrerPolicy referrer_policy_; |
247 bool is_chunked_upload_; // True if using chunked transfer encoding | 247 bool is_chunked_upload_; // True if using chunked transfer encoding |
248 | 248 |
249 // Used to determine how long to wait before making a request or doing a | 249 // Used to determine how long to wait before making a request or doing a |
250 // retry. | 250 // retry. |
251 // | 251 // |
252 // Both of them can only be accessed on the IO thread. | 252 // Both of them can only be accessed on the IO thread. |
253 // | 253 // |
254 // We need not only the throttler entry for |original_URL|, but also | 254 // To determine the proper backoff timing, throttler entries for |
255 // the one for |url|. For example, consider the case that URL A | 255 // both |original_URL| and |url| are needed. For example, consider |
256 // redirects to URL B, for which the server returns a 500 | 256 // the case that URL A redirects to URL B, for which the server |
257 // response. In this case, the exponential back-off release time of | 257 // returns a 500 response. In this case, the exponential back-off |
258 // URL A won't increase. If we retry without considering the | 258 // release time of URL A won't increase. If only the backoff |
259 // back-off constraint of URL B, we may send out too many requests | 259 // constraints for URL A are considered, too many requests for URL A |
260 // for URL A in a short period of time. | 260 // may be sent in a short period of time. |
261 // | 261 // |
262 // Both of these will be NULL if | 262 // Both of these will be NULL if |
263 // URLRequestContext::throttler_manager() is NULL. | 263 // URLRequestContext::throttler_manager() is NULL. |
264 scoped_refptr<URLRequestThrottlerEntryInterface> | 264 scoped_refptr<URLRequestThrottlerEntryInterface> |
265 original_url_throttler_entry_; | 265 original_url_throttler_entry_; |
266 scoped_refptr<URLRequestThrottlerEntryInterface> url_throttler_entry_; | 266 scoped_refptr<URLRequestThrottlerEntryInterface> url_throttler_entry_; |
267 | 267 |
268 // True if the URLFetcher has been cancelled. | 268 // True if the URLFetcher has been cancelled. |
269 bool was_cancelled_; | 269 bool was_cancelled_; |
270 | 270 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 base::debug::StackTrace stack_trace_; | 316 base::debug::StackTrace stack_trace_; |
317 | 317 |
318 static base::LazyInstance<Registry> g_registry; | 318 static base::LazyInstance<Registry> g_registry; |
319 | 319 |
320 DISALLOW_COPY_AND_ASSIGN(URLFetcherCore); | 320 DISALLOW_COPY_AND_ASSIGN(URLFetcherCore); |
321 }; | 321 }; |
322 | 322 |
323 } // namespace net | 323 } // namespace net |
324 | 324 |
325 #endif // NET_URL_REQUEST_URL_FETCHER_CORE_H_ | 325 #endif // NET_URL_REQUEST_URL_FETCHER_CORE_H_ |
OLD | NEW |