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

Unified Diff: net/http/http_cache_transaction.h

Issue 2721933002: HttpCache::Transaction layer allowing parallel validation (Closed)
Patch Set: Initial patch Created 3 years, 9 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 2d249c1eda028c6329ed2edc603bfc2f4064a082..286907f2a49453f5d87e129209cb0ea7f3f3d7a9 100644
--- a/net/http/http_cache_transaction.h
+++ b/net/http/http_cache_transaction.h
@@ -218,6 +218,8 @@ class HttpCache::Transaction : public HttpTransaction {
STATE_PARTIAL_HEADERS_RECEIVED,
STATE_CACHE_READ_METADATA,
STATE_CACHE_READ_METADATA_COMPLETE,
+ STATE_WAIT_BEFORE_READ,
+ STATE_WAIT_BEFORE_READ_COMPLETE,
// These states are entered from Read/AddTruncatedFlag.
STATE_NETWORK_READ,
@@ -245,6 +247,7 @@ class HttpCache::Transaction : public HttpTransaction {
// Runs the state transition loop. Resets and calls |callback_| on exit,
// unless the return value is ERR_IO_PENDING.
int DoLoop(int result);
+ int DoLoopImpl(int result);
// Each of these methods corresponds to a State value. If there is an
// argument, the value corresponds to the return of the previous state or
@@ -284,6 +287,8 @@ class HttpCache::Transaction : public HttpTransaction {
int DoTruncateCachedMetadata();
int DoTruncateCachedMetadataComplete(int result);
int DoPartialHeadersReceived();
+ int DoWaitBeforeRead();
+ int DoWaitBeforeReadComplete(int result);
int DoCacheReadMetadata();
int DoCacheReadMetadataComplete(int result);
int DoNetworkRead();
@@ -463,6 +468,8 @@ class HttpCache::Transaction : public HttpTransaction {
bool couldnt_conditionalize_request_;
bool bypass_lock_for_test_; // A test is exercising the cache lock.
bool fail_conditionalization_for_test_; // Fail ConditionalizeRequest.
+ // This transaction is responsible for writing the response
+ bool write_this_response_;
jkarlin 2017/03/07 16:45:42 This variable seems unnecessary, it's only read in
scoped_refptr<IOBuffer> read_buf_;
int io_buf_len_;
int read_offset_;

Powered by Google App Engine
This is Rietveld 408576698