Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(393)

Unified Diff: net/http/http_cache_transaction.h

Issue 2886483002: Adds a new class HttpCache::Writers for multiple cache transactions reading from the network. (Closed)
Patch Set: Feedback addressed. Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/http/http_cache_transaction.h
diff --git a/net/http/http_cache_transaction.h b/net/http/http_cache_transaction.h
index dec02f157cba2bad10c2d778991d487872614450..c753c6da7044638ddecfcfc0ed35b4af29864d28 100644
--- a/net/http/http_cache_transaction.h
+++ b/net/http/http_cache_transaction.h
@@ -176,9 +176,19 @@ class HttpCache::Transaction : public HttpTransaction {
// and this transaction needs to be restarted.
void SetValidatingCannotProceed();
+ // Invoked to remove the association between a transaction waiting to be
+ // added to an entry and the entry.
+ void ResetCachePendingState() { cache_pending_ = false; }
+
// Returns the estimate of dynamically allocated memory in bytes.
size_t EstimateMemoryUsage() const;
+ // Sets fail state such that a future Read fails with |error_code|.
+ void SetSharedWritingFailState(int error_code);
+
+ RequestPriority priority() const { return priority_; }
+ PartialData* partial() { return partial_.get(); }
+
private:
static const size_t kNumValidationHeaders = 2;
// Helper struct to pair a header name with its value, for
@@ -211,6 +221,7 @@ class HttpCache::Transaction : public HttpTransaction {
STATE_CREATE_ENTRY_COMPLETE,
STATE_ADD_TO_ENTRY,
STATE_ADD_TO_ENTRY_COMPLETE,
+ STATE_DONE_HEADERS_ADD_TO_ENTRY_COMPLETE,
STATE_CACHE_READ_RESPONSE,
STATE_CACHE_READ_RESPONSE_COMPLETE,
STATE_TOGGLE_UNUSED_SINCE_PREFETCH,
@@ -282,6 +293,7 @@ class HttpCache::Transaction : public HttpTransaction {
int DoCreateEntryComplete(int result);
int DoAddToEntry();
int DoAddToEntryComplete(int result);
+ int DoDoneHeadersAddToEntryComplete(int result);
int DoCacheReadResponse();
int DoCacheReadResponseComplete(int result);
int DoCacheToggleUnusedSincePrefetch();
@@ -502,6 +514,11 @@ class HttpCache::Transaction : public HttpTransaction {
bool handling_206_; // We must deal with this 206 response.
bool cache_pending_; // We are waiting for the HttpCache.
bool done_reading_; // All available data was read.
+
+ // Headers have been received from the network and it's not a match with the
+ // existing entry.
+ bool done_headers_create_new_entry_;
+
bool vary_mismatch_; // The request doesn't match the stored vary data.
bool couldnt_conditionalize_request_;
bool bypass_lock_for_test_; // A test is exercising the cache lock.

Powered by Google App Engine
This is Rietveld 408576698