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

Unified Diff: net/http/mock_http_cache.h

Issue 22926031: Sparse IO: Allow failover to network in debug builds (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 4 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/mock_http_cache.h
diff --git a/net/http/mock_http_cache.h b/net/http/mock_http_cache.h
index 6cb0e50f56287db00afc8a118f937810e1af684a..cf5fd47667d50dfab0f68c42b0c5c25ab7aff165 100644
--- a/net/http/mock_http_cache.h
+++ b/net/http/mock_http_cache.h
@@ -18,11 +18,12 @@
//-----------------------------------------------------------------------------
// Mock disk cache (a very basic memory cache implementation).
+class MockDiskCache;
+
class MockDiskEntry : public disk_cache::Entry,
public base::RefCounted<MockDiskEntry> {
public:
- MockDiskEntry();
- explicit MockDiskEntry(const std::string& key);
+ MockDiskEntry(MockDiskCache* backend, const std::string& key);
bool is_doomed() const { return doomed_; }
@@ -53,6 +54,8 @@ class MockDiskEntry : public disk_cache::Entry,
// Fail most subsequent requests.
void set_fail_requests() { fail_requests_ = true; }
+ void set_fail_sparse_requests() { fail_sparse_requests_ = true; }
+
// If |value| is true, don't deliver any completion callbacks until called
// again with |value| set to false. Caution: remember to enable callbacks
// again or all subsequent tests will fail.
@@ -85,10 +88,12 @@ class MockDiskEntry : public disk_cache::Entry,
bool doomed_;
bool sparse_;
bool fail_requests_;
+ bool fail_sparse_requests_;
bool busy_;
bool delayed_;
static bool cancel_;
static bool ignore_callbacks_;
+ MockDiskCache* backend_;
};
class MockDiskCache : public disk_cache::Backend {
@@ -125,6 +130,10 @@ class MockDiskCache : public disk_cache::Backend {
// Returns number of times a cache entry was successfully created.
int create_count() const { return create_count_; }
+ // Returns the number of operations attempted that are specific to range
+ // requests.
+ int sparse_count() const { return sparse_count_; }
+
// Fail any subsequent CreateEntry and OpenEntry.
void set_fail_requests() { fail_requests_ = true; }
@@ -134,6 +143,11 @@ class MockDiskCache : public disk_cache::Backend {
// Makes sure that CreateEntry is not called twice for a given key.
void set_double_create_check(bool value) { double_create_check_ = value; }
+ // Makes all requests for data ranges to fail as not implemented.
+ void set_fail_sparse_requests() { fail_sparse_requests_ = true; }
+
+ void NotifySparseIO() { sparse_count_++; }
+
void ReleaseAll();
private:
@@ -144,9 +158,11 @@ class MockDiskCache : public disk_cache::Backend {
EntryMap entries_;
int open_count_;
int create_count_;
+ int sparse_count_;
bool fail_requests_;
bool soft_failures_;
bool double_create_check_;
+ bool fail_sparse_requests_;
};
class MockBackendFactory : public net::HttpCache::BackendFactory {

Powered by Google App Engine
This is Rietveld 408576698