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

Side by Side Diff: net/http/mock_http_cache.h

Issue 2721933002: HttpCache::Transaction layer allowing parallel validation (Closed)
Patch Set: Josh's latest feedback addressed Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 is a mock of the http cache and related testing classes. To be fair, it 5 // This is a mock of the http cache and related testing classes. To be fair, it
6 // is not really a mock http cache given that it uses the real implementation of 6 // is not really a mock http cache given that it uses the real implementation of
7 // the http cache, but it has fake implementations of all required components, 7 // the http cache, but it has fake implementations of all required components,
8 // so it is useful for unit tests at the http layer. 8 // so it is useful for unit tests at the http layer.
9 9
10 #ifndef NET_HTTP_MOCK_HTTP_CACHE_H_ 10 #ifndef NET_HTTP_MOCK_HTTP_CACHE_H_
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 void set_soft_failures(bool value) { soft_failures_ = value; } 149 void set_soft_failures(bool value) { soft_failures_ = value; }
150 150
151 // Makes sure that CreateEntry is not called twice for a given key. 151 // Makes sure that CreateEntry is not called twice for a given key.
152 void set_double_create_check(bool value) { double_create_check_ = value; } 152 void set_double_create_check(bool value) { double_create_check_ = value; }
153 153
154 // Makes all requests for data ranges to fail as not implemented. 154 // Makes all requests for data ranges to fail as not implemented.
155 void set_fail_sparse_requests() { fail_sparse_requests_ = true; } 155 void set_fail_sparse_requests() { fail_sparse_requests_ = true; }
156 156
157 void ReleaseAll(); 157 void ReleaseAll();
158 158
159 bool IsDiskEntryDoomed(const std::string& key);
160
159 private: 161 private:
160 using EntryMap = std::unordered_map<std::string, MockDiskEntry*>; 162 using EntryMap = std::unordered_map<std::string, MockDiskEntry*>;
161 class NotImplementedIterator; 163 class NotImplementedIterator;
162 164
163 void CallbackLater(const CompletionCallback& callback, int result); 165 void CallbackLater(const CompletionCallback& callback, int result);
164 166
165 EntryMap entries_; 167 EntryMap entries_;
166 int open_count_; 168 int open_count_;
167 int create_count_; 169 int create_count_;
168 bool fail_requests_; 170 bool fail_requests_;
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 disk_cache::Entry** entry, 227 disk_cache::Entry** entry,
226 NetLog* net_log); 228 NetLog* net_log);
227 229
228 // Returns the test mode after considering the global override. 230 // Returns the test mode after considering the global override.
229 static int GetTestMode(int test_mode); 231 static int GetTestMode(int test_mode);
230 232
231 // Overrides the test mode for a given operation. Remember to reset it after 233 // Overrides the test mode for a given operation. Remember to reset it after
232 // the test! (by setting test_mode to zero). 234 // the test! (by setting test_mode to zero).
233 static void SetTestMode(int test_mode); 235 static void SetTestMode(int test_mode);
234 236
237 // Functions to test the state of ActiveEntry.
238
239 bool IsWriterPresent(const std::string& key);
240 bool IsHeadersTransactionPresent(const std::string& key);
241 int GetCountReaders(const std::string& key);
242 int GetCountAddToEntryQueue(const std::string& key);
243 int GetCountDoneHeadersQueue(const std::string& key);
244
235 private: 245 private:
236 HttpCache http_cache_; 246 HttpCache http_cache_;
237 }; 247 };
238 248
239 // This version of the disk cache doesn't invoke CreateEntry callbacks. 249 // This version of the disk cache doesn't invoke CreateEntry callbacks.
240 class MockDiskCacheNoCB : public MockDiskCache { 250 class MockDiskCacheNoCB : public MockDiskCache {
241 int CreateEntry(const std::string& key, 251 int CreateEntry(const std::string& key,
242 disk_cache::Entry** entry, 252 disk_cache::Entry** entry,
243 const CompletionCallback& callback) override; 253 const CompletionCallback& callback) override;
244 }; 254 };
(...skipping 29 matching lines...) Expand all
274 284
275 std::unique_ptr<disk_cache::Backend>* backend_; 285 std::unique_ptr<disk_cache::Backend>* backend_;
276 CompletionCallback callback_; 286 CompletionCallback callback_;
277 bool block_; 287 bool block_;
278 bool fail_; 288 bool fail_;
279 }; 289 };
280 290
281 } // namespace net 291 } // namespace net
282 292
283 #endif // NET_HTTP_MOCK_HTTP_CACHE_H_ 293 #endif // NET_HTTP_MOCK_HTTP_CACHE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698