| 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 // This file declares HttpCache::Transaction, a private class of HttpCache so | 5 // This file declares HttpCache::Transaction, a private class of HttpCache so |
| 6 // it should only be included by http_cache.cc | 6 // it should only be included by http_cache.cc |
| 7 | 7 |
| 8 #ifndef NET_HTTP_HTTP_CACHE_TRANSACTION_H_ | 8 #ifndef NET_HTTP_HTTP_CACHE_TRANSACTION_H_ |
| 9 #define NET_HTTP_HTTP_CACHE_TRANSACTION_H_ | 9 #define NET_HTTP_HTTP_CACHE_TRANSACTION_H_ |
| 10 | 10 |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 // Helper struct to pair a header name with its value, for | 163 // Helper struct to pair a header name with its value, for |
| 164 // headers used to validate cache entries. | 164 // headers used to validate cache entries. |
| 165 struct ValidationHeaders { | 165 struct ValidationHeaders { |
| 166 ValidationHeaders() : initialized(false) {} | 166 ValidationHeaders() : initialized(false) {} |
| 167 | 167 |
| 168 std::string values[kNumValidationHeaders]; | 168 std::string values[kNumValidationHeaders]; |
| 169 bool initialized; | 169 bool initialized; |
| 170 }; | 170 }; |
| 171 | 171 |
| 172 enum State { | 172 enum State { |
| 173 // Normally, states are traversed in approximately this order. |
| 173 STATE_NONE, | 174 STATE_NONE, |
| 174 STATE_GET_BACKEND, | 175 STATE_GET_BACKEND, |
| 175 STATE_GET_BACKEND_COMPLETE, | 176 STATE_GET_BACKEND_COMPLETE, |
| 177 STATE_INIT_ENTRY, |
| 178 STATE_OPEN_ENTRY, |
| 179 STATE_OPEN_ENTRY_COMPLETE, |
| 180 STATE_DOOM_ENTRY, |
| 181 STATE_DOOM_ENTRY_COMPLETE, |
| 182 STATE_CREATE_ENTRY, |
| 183 STATE_CREATE_ENTRY_COMPLETE, |
| 184 STATE_ADD_TO_ENTRY, |
| 185 STATE_ADD_TO_ENTRY_COMPLETE, |
| 186 STATE_CACHE_READ_RESPONSE, |
| 187 STATE_CACHE_READ_RESPONSE_COMPLETE, |
| 188 STATE_TOGGLE_UNUSED_SINCE_PREFETCH, |
| 189 STATE_TOGGLE_UNUSED_SINCE_PREFETCH_COMPLETE, |
| 190 STATE_CACHE_DISPATCH_VALIDATION, |
| 191 STATE_CACHE_QUERY_DATA, |
| 192 STATE_CACHE_QUERY_DATA_COMPLETE, |
| 193 STATE_START_PARTIAL_CACHE_VALIDATION, |
| 194 STATE_COMPLETE_PARTIAL_CACHE_VALIDATION, |
| 176 STATE_SEND_REQUEST, | 195 STATE_SEND_REQUEST, |
| 177 STATE_SEND_REQUEST_COMPLETE, | 196 STATE_SEND_REQUEST_COMPLETE, |
| 178 STATE_SUCCESSFUL_SEND_REQUEST, | 197 STATE_SUCCESSFUL_SEND_REQUEST, |
| 179 STATE_NETWORK_READ, | |
| 180 STATE_NETWORK_READ_COMPLETE, | |
| 181 STATE_INIT_ENTRY, | |
| 182 STATE_OPEN_ENTRY, | |
| 183 STATE_OPEN_ENTRY_COMPLETE, | |
| 184 STATE_CREATE_ENTRY, | |
| 185 STATE_CREATE_ENTRY_COMPLETE, | |
| 186 STATE_DOOM_ENTRY, | |
| 187 STATE_DOOM_ENTRY_COMPLETE, | |
| 188 STATE_ADD_TO_ENTRY, | |
| 189 STATE_ADD_TO_ENTRY_COMPLETE, | |
| 190 STATE_START_PARTIAL_CACHE_VALIDATION, | |
| 191 STATE_COMPLETE_PARTIAL_CACHE_VALIDATION, | |
| 192 STATE_UPDATE_CACHED_RESPONSE, | 198 STATE_UPDATE_CACHED_RESPONSE, |
| 193 STATE_UPDATE_CACHED_RESPONSE_COMPLETE, | 199 STATE_UPDATE_CACHED_RESPONSE_COMPLETE, |
| 194 STATE_OVERWRITE_CACHED_RESPONSE, | 200 STATE_OVERWRITE_CACHED_RESPONSE, |
| 201 STATE_CACHE_WRITE_RESPONSE, |
| 202 STATE_CACHE_WRITE_TRUNCATED_RESPONSE, |
| 203 STATE_CACHE_WRITE_RESPONSE_COMPLETE, |
| 195 STATE_TRUNCATE_CACHED_DATA, | 204 STATE_TRUNCATE_CACHED_DATA, |
| 196 STATE_TRUNCATE_CACHED_DATA_COMPLETE, | 205 STATE_TRUNCATE_CACHED_DATA_COMPLETE, |
| 197 STATE_TRUNCATE_CACHED_METADATA, | 206 STATE_TRUNCATE_CACHED_METADATA, |
| 198 STATE_TRUNCATE_CACHED_METADATA_COMPLETE, | 207 STATE_TRUNCATE_CACHED_METADATA_COMPLETE, |
| 199 STATE_PARTIAL_HEADERS_RECEIVED, | 208 STATE_PARTIAL_HEADERS_RECEIVED, |
| 200 STATE_CACHE_READ_RESPONSE, | |
| 201 STATE_CACHE_READ_RESPONSE_COMPLETE, | |
| 202 STATE_CACHE_DISPATCH_VALIDATION, | |
| 203 STATE_TOGGLE_UNUSED_SINCE_PREFETCH, | |
| 204 STATE_TOGGLE_UNUSED_SINCE_PREFETCH_COMPLETE, | |
| 205 STATE_CACHE_WRITE_RESPONSE, | |
| 206 STATE_CACHE_WRITE_TRUNCATED_RESPONSE, | |
| 207 STATE_CACHE_WRITE_RESPONSE_COMPLETE, | |
| 208 STATE_CACHE_READ_METADATA, | 209 STATE_CACHE_READ_METADATA, |
| 209 STATE_CACHE_READ_METADATA_COMPLETE, | 210 STATE_CACHE_READ_METADATA_COMPLETE, |
| 210 STATE_CACHE_QUERY_DATA, | 211 |
| 211 STATE_CACHE_QUERY_DATA_COMPLETE, | 212 // These states are entered from Read/Write |
| 213 STATE_NETWORK_READ, |
| 214 STATE_NETWORK_READ_COMPLETE, |
| 212 STATE_CACHE_READ_DATA, | 215 STATE_CACHE_READ_DATA, |
| 213 STATE_CACHE_READ_DATA_COMPLETE, | 216 STATE_CACHE_READ_DATA_COMPLETE, |
| 214 STATE_CACHE_WRITE_DATA, | 217 STATE_CACHE_WRITE_DATA, |
| 215 STATE_CACHE_WRITE_DATA_COMPLETE | 218 STATE_CACHE_WRITE_DATA_COMPLETE |
| 216 }; | 219 }; |
| 217 | 220 |
| 218 // Used for categorizing transactions for reporting in histograms. Patterns | 221 // Used for categorizing transactions for reporting in histograms. Patterns |
| 219 // cover relatively common use cases being measured and considered for | 222 // cover relatively common use cases being measured and considered for |
| 220 // optimization. Many use cases that are more complex or uncommon are binned | 223 // optimization. Many use cases that are more complex or uncommon are binned |
| 221 // as PATTERN_NOT_COVERED, and details are not reported. | 224 // as PATTERN_NOT_COVERED, and details are not reported. |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 484 BeforeProxyHeadersSentCallback before_proxy_headers_sent_callback_; | 487 BeforeProxyHeadersSentCallback before_proxy_headers_sent_callback_; |
| 485 | 488 |
| 486 base::WeakPtrFactory<Transaction> weak_factory_; | 489 base::WeakPtrFactory<Transaction> weak_factory_; |
| 487 | 490 |
| 488 DISALLOW_COPY_AND_ASSIGN(Transaction); | 491 DISALLOW_COPY_AND_ASSIGN(Transaction); |
| 489 }; | 492 }; |
| 490 | 493 |
| 491 } // namespace net | 494 } // namespace net |
| 492 | 495 |
| 493 #endif // NET_HTTP_HTTP_CACHE_TRANSACTION_H_ | 496 #endif // NET_HTTP_HTTP_CACHE_TRANSACTION_H_ |
| OLD | NEW |