| 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 |
| 11 #include <string> | 11 #include <string> |
| 12 #include <vector> |
| 12 | 13 |
| 13 #include "base/time.h" | 14 #include "base/time.h" |
| 14 #include "net/base/completion_callback.h" | 15 #include "net/base/completion_callback.h" |
| 15 #include "net/base/net_log.h" | 16 #include "net/base/net_log.h" |
| 16 #include "net/http/http_cache.h" | 17 #include "net/http/http_cache.h" |
| 17 #include "net/http/http_response_info.h" | 18 #include "net/http/http_response_info.h" |
| 18 #include "net/http/http_request_headers.h" | 19 #include "net/http/http_request_headers.h" |
| 19 #include "net/http/http_transaction.h" | 20 #include "net/http/http_transaction.h" |
| 20 | 21 |
| 21 namespace net { | 22 namespace net { |
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 | 373 |
| 373 // Resets cache_io_start_ to the current time, if |return_value| is | 374 // Resets cache_io_start_ to the current time, if |return_value| is |
| 374 // ERR_IO_PENDING. | 375 // ERR_IO_PENDING. |
| 375 // Returns |return_value|. | 376 // Returns |return_value|. |
| 376 int ResetCacheIOStart(int return_value); | 377 int ResetCacheIOStart(int return_value); |
| 377 | 378 |
| 378 void ScheduleDelayedLoop(base::TimeDelta delay, int result); | 379 void ScheduleDelayedLoop(base::TimeDelta delay, int result); |
| 379 void RunDelayedLoop(base::TimeTicks delay_start_time, | 380 void RunDelayedLoop(base::TimeTicks delay_start_time, |
| 380 base::TimeDelta intended_delay, int result); | 381 base::TimeDelta intended_delay, int result); |
| 381 | 382 |
| 383 #if !defined(NDEBUG) |
| 384 void DumpStatePath(); |
| 385 #endif |
| 386 |
| 382 State next_state_; | 387 State next_state_; |
| 383 const HttpRequestInfo* request_; | 388 const HttpRequestInfo* request_; |
| 384 BoundNetLog net_log_; | 389 BoundNetLog net_log_; |
| 385 scoped_ptr<HttpRequestInfo> custom_request_; | 390 scoped_ptr<HttpRequestInfo> custom_request_; |
| 386 HttpRequestHeaders request_headers_copy_; | 391 HttpRequestHeaders request_headers_copy_; |
| 387 // If extra_headers specified a "if-modified-since" or "if-none-match", | 392 // If extra_headers specified a "if-modified-since" or "if-none-match", |
| 388 // |external_validation_| contains the value of those headers. | 393 // |external_validation_| contains the value of those headers. |
| 389 ValidationHeaders external_validation_; | 394 ValidationHeaders external_validation_; |
| 390 base::WeakPtr<HttpCache> cache_; | 395 base::WeakPtr<HttpCache> cache_; |
| 391 HttpCache::ActiveEntry* entry_; | 396 HttpCache::ActiveEntry* entry_; |
| 392 HttpCache::ActiveEntry* new_entry_; | 397 HttpCache::ActiveEntry* new_entry_; |
| 393 scoped_ptr<HttpTransaction> network_trans_; | 398 scoped_ptr<HttpTransaction> network_trans_; |
| 394 scoped_ptr<InfiniteCacheTransaction> infinite_cache_transaction_; | 399 scoped_ptr<InfiniteCacheTransaction> infinite_cache_transaction_; |
| 395 CompletionCallback callback_; // Consumer's callback. | 400 CompletionCallback callback_; // Consumer's callback. |
| 396 HttpResponseInfo response_; | 401 HttpResponseInfo response_; |
| 397 HttpResponseInfo auth_response_; | 402 HttpResponseInfo auth_response_; |
| 398 const HttpResponseInfo* new_response_; | 403 const HttpResponseInfo* new_response_; |
| 399 std::string cache_key_; | 404 std::string cache_key_; |
| 400 Mode mode_; | 405 Mode mode_; |
| 401 State target_state_; | 406 State target_state_; |
| 402 bool reading_; // We are already reading. | 407 bool reading_; // We are already reading. |
| 403 bool invalid_range_; // We may bypass the cache for this request. | 408 bool invalid_range_; // We may bypass the cache for this request. |
| 404 bool truncated_; // We don't have all the response data. | 409 bool truncated_; // We don't have all the response data. |
| 405 bool is_sparse_; // The data is stored in sparse byte ranges. | 410 bool is_sparse_; // The data is stored in sparse byte ranges. |
| 406 bool range_requested_; // The user requested a byte range. | 411 bool range_requested_; // The user requested a byte range. |
| 407 bool handling_206_; // We must deal with this 206 response. | 412 bool handling_206_; // We must deal with this 206 response. |
| 408 bool cache_pending_; // We are waiting for the HttpCache. | 413 bool cache_pending_; // We are waiting for the HttpCache. |
| 409 bool done_reading_; | 414 bool done_reading_; |
| 410 bool vary_mismatch_; // The request doesn't match the stored vary data. | 415 bool vary_mismatch_; // The request doesn't match the stored vary data. |
| 416 bool couldnt_conditionalize_request_; |
| 411 scoped_refptr<IOBuffer> read_buf_; | 417 scoped_refptr<IOBuffer> read_buf_; |
| 412 int io_buf_len_; | 418 int io_buf_len_; |
| 413 int read_offset_; | 419 int read_offset_; |
| 414 int effective_load_flags_; | 420 int effective_load_flags_; |
| 415 int write_len_; | 421 int write_len_; |
| 416 scoped_ptr<PartialData> partial_; // We are dealing with range requests. | 422 scoped_ptr<PartialData> partial_; // We are dealing with range requests. |
| 417 UploadProgress final_upload_progress_; | 423 UploadProgress final_upload_progress_; |
| 418 base::WeakPtrFactory<Transaction> weak_factory_; | 424 base::WeakPtrFactory<Transaction> weak_factory_; |
| 419 CompletionCallback io_callback_; | 425 CompletionCallback io_callback_; |
| 420 | 426 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 435 // a delay on return, we must defer that delay until AddToEntry has been | 441 // a delay on return, we must defer that delay until AddToEntry has been |
| 436 // called, to avoid a race condition on the address returned. | 442 // called, to avoid a race condition on the address returned. |
| 437 base::TimeDelta deferred_cache_sensitivity_delay_; | 443 base::TimeDelta deferred_cache_sensitivity_delay_; |
| 438 bool defer_cache_sensitivity_delay_; | 444 bool defer_cache_sensitivity_delay_; |
| 439 | 445 |
| 440 // For sensitivity analysis, the simulated increase in cache service times, | 446 // For sensitivity analysis, the simulated increase in cache service times, |
| 441 // in percent. | 447 // in percent. |
| 442 int sensitivity_analysis_percent_increase_; | 448 int sensitivity_analysis_percent_increase_; |
| 443 | 449 |
| 444 HttpTransactionDelegate* transaction_delegate_; | 450 HttpTransactionDelegate* transaction_delegate_; |
| 451 |
| 452 #if !defined(NDEBUG) |
| 453 // Record of all states this transaction has moved through. |
| 454 std::vector<int> state_path_; |
| 455 #endif |
| 445 }; | 456 }; |
| 446 | 457 |
| 447 } // namespace net | 458 } // namespace net |
| 448 | 459 |
| 449 #endif // NET_HTTP_HTTP_CACHE_TRANSACTION_H_ | 460 #endif // NET_HTTP_HTTP_CACHE_TRANSACTION_H_ |
| OLD | NEW |