| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_BASE_LOAD_STATES_H__ | 5 #ifndef NET_BASE_LOAD_STATES_H__ |
| 6 #define NET_BASE_LOAD_STATES_H__ | 6 #define NET_BASE_LOAD_STATES_H__ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include "base/string16.h" |
| 10 |
| 9 namespace net { | 11 namespace net { |
| 10 | 12 |
| 11 // These states correspond to the lengthy periods of time that a resource load | 13 // These states correspond to the lengthy periods of time that a resource load |
| 12 // may be blocked and unable to make progress. | 14 // may be blocked and unable to make progress. |
| 13 enum LoadState { | 15 enum LoadState { |
| 14 // This is the default state. It corresponds to a resource load that has | 16 // This is the default state. It corresponds to a resource load that has |
| 15 // either not yet begun or is idle waiting for the consumer to do something | 17 // either not yet begun or is idle waiting for the consumer to do something |
| 16 // to move things along (e.g., the consumer of an URLRequest may not have | 18 // to move things along (e.g., the consumer of an URLRequest may not have |
| 17 // called Read yet). | 19 // called Read yet). |
| 18 LOAD_STATE_IDLE, | 20 LOAD_STATE_IDLE, |
| 19 | 21 |
| 22 // This state indicates that the URLRequest delegate has chosen to block this |
| 23 // request before it was sent over the network. When in this state, the |
| 24 // delegate should set a load state parameter on the URLRequest describing |
| 25 // the nature of the delay (i.e. "Waiting for <description given by |
| 26 // delegate>"). |
| 27 LOAD_STATE_WAITING_FOR_DELEGATE, |
| 28 |
| 20 // This state corresponds to a resource load that is blocked waiting for | 29 // This state corresponds to a resource load that is blocked waiting for |
| 21 // access to a resource in the cache. If multiple requests are made for the | 30 // access to a resource in the cache. If multiple requests are made for the |
| 22 // same resource, the first request will be responsible for writing (or | 31 // same resource, the first request will be responsible for writing (or |
| 23 // updating) the cache entry and the second request will be deferred until | 32 // updating) the cache entry and the second request will be deferred until |
| 24 // the first completes. This may be done to optimize for cache reuse. | 33 // the first completes. This may be done to optimize for cache reuse. |
| 25 LOAD_STATE_WAITING_FOR_CACHE, | 34 LOAD_STATE_WAITING_FOR_CACHE, |
| 26 | 35 |
| 27 // This state corresponds to a resource load that is blocked waiting for a | 36 // This state corresponds to a resource load that is blocked waiting for a |
| 28 // proxy autoconfig script to return a proxy server to use. This state may | 37 // proxy autoconfig script to return a proxy server to use. This state may |
| 29 // take a while if the proxy script needs to resolve the IP address of the | 38 // take a while if the proxy script needs to resolve the IP address of the |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 LOAD_STATE_WAITING_FOR_RESPONSE, | 71 LOAD_STATE_WAITING_FOR_RESPONSE, |
| 63 | 72 |
| 64 // This state corresponds to a resource load that is blocked waiting for a | 73 // This state corresponds to a resource load that is blocked waiting for a |
| 65 // read to complete. In the case of a HTTP transaction, this corresponds to | 74 // read to complete. In the case of a HTTP transaction, this corresponds to |
| 66 // the period after the response headers have been received and before all of | 75 // the period after the response headers have been received and before all of |
| 67 // the response body has been downloaded. (NOTE: This state only applies for | 76 // the response body has been downloaded. (NOTE: This state only applies for |
| 68 // an URLRequest while there is an outstanding Read operation.) | 77 // an URLRequest while there is an outstanding Read operation.) |
| 69 LOAD_STATE_READING_RESPONSE, | 78 LOAD_STATE_READING_RESPONSE, |
| 70 }; | 79 }; |
| 71 | 80 |
| 81 // Some states, like LOAD_STATE_WAITING_FOR_DELEGATE, are associated with extra |
| 82 // data that describes more precisely what the delegate (for example) is doing. |
| 83 // This class provides an easy way to hold a load state with an extra parameter. |
| 84 struct LoadStateWithParam { |
| 85 LoadState state; |
| 86 string16 param; |
| 87 LoadStateWithParam() {} |
| 88 LoadStateWithParam(LoadState state, const string16& param) |
| 89 : state(state), param(param) {} |
| 90 }; |
| 91 |
| 72 } // namespace net | 92 } // namespace net |
| 73 | 93 |
| 74 #endif // NET_BASE_LOAD_STATES_H__ | 94 #endif // NET_BASE_LOAD_STATES_H__ |
| OLD | NEW |