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 // See net/disk_cache/disk_cache.h for the public interface of the cache. | 5 // See net/disk_cache/disk_cache.h for the public interface of the cache. |
6 | 6 |
7 #ifndef NET_DISK_CACHE_BLOCKFILE_BACKEND_IMPL_H_ | 7 #ifndef NET_DISK_CACHE_BLOCKFILE_BACKEND_IMPL_H_ |
8 #define NET_DISK_CACHE_BLOCKFILE_BACKEND_IMPL_H_ | 8 #define NET_DISK_CACHE_BLOCKFILE_BACKEND_IMPL_H_ |
9 | 9 |
10 #include "base/containers/hash_tables.h" | 10 #include "base/containers/hash_tables.h" |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 virtual int CreateEntry(const std::string& key, Entry** entry, | 266 virtual int CreateEntry(const std::string& key, Entry** entry, |
267 const CompletionCallback& callback) OVERRIDE; | 267 const CompletionCallback& callback) OVERRIDE; |
268 virtual int DoomEntry(const std::string& key, | 268 virtual int DoomEntry(const std::string& key, |
269 const CompletionCallback& callback) OVERRIDE; | 269 const CompletionCallback& callback) OVERRIDE; |
270 virtual int DoomAllEntries(const CompletionCallback& callback) OVERRIDE; | 270 virtual int DoomAllEntries(const CompletionCallback& callback) OVERRIDE; |
271 virtual int DoomEntriesBetween(base::Time initial_time, | 271 virtual int DoomEntriesBetween(base::Time initial_time, |
272 base::Time end_time, | 272 base::Time end_time, |
273 const CompletionCallback& callback) OVERRIDE; | 273 const CompletionCallback& callback) OVERRIDE; |
274 virtual int DoomEntriesSince(base::Time initial_time, | 274 virtual int DoomEntriesSince(base::Time initial_time, |
275 const CompletionCallback& callback) OVERRIDE; | 275 const CompletionCallback& callback) OVERRIDE; |
276 // NOTE: The blockfile Backend::Iterator::OpenNextEntry method does not modify | 276 virtual int OpenNextEntry(void** iter, Entry** next_entry, |
277 // the last_used field of the entry, and therefore it does not impact the | 277 const CompletionCallback& callback) OVERRIDE; |
278 // eviction ranking of the entry. However, an enumeration will go through all | 278 virtual void EndEnumeration(void** iter) OVERRIDE; |
279 // entries on the cache only if the cache is not modified while the | |
280 // enumeration is taking place. Significantly altering the entry pointed by | |
281 // the iterator (for example, deleting the entry) will invalidate the | |
282 // iterator. Performing operations on an entry that modify the entry may | |
283 // result in loops in the iteration, skipped entries or similar. | |
284 virtual scoped_ptr<Iterator> CreateIterator() OVERRIDE; | |
285 virtual void GetStats(StatsItems* stats) OVERRIDE; | 279 virtual void GetStats(StatsItems* stats) OVERRIDE; |
286 virtual void OnExternalCacheHit(const std::string& key) OVERRIDE; | 280 virtual void OnExternalCacheHit(const std::string& key) OVERRIDE; |
287 | 281 |
288 private: | 282 private: |
289 typedef base::hash_map<CacheAddr, EntryImpl*> EntriesMap; | 283 typedef base::hash_map<CacheAddr, EntryImpl*> EntriesMap; |
290 class IteratorImpl; | |
291 | 284 |
292 // Creates a new backing file for the cache index. | 285 // Creates a new backing file for the cache index. |
293 bool CreateBackingStore(disk_cache::File* file); | 286 bool CreateBackingStore(disk_cache::File* file); |
294 bool InitBackingStore(bool* file_created); | 287 bool InitBackingStore(bool* file_created); |
295 void AdjustMaxCacheSize(int table_len); | 288 void AdjustMaxCacheSize(int table_len); |
296 | 289 |
297 bool InitStats(); | 290 bool InitStats(); |
298 void StoreStats(); | 291 void StoreStats(); |
299 | 292 |
300 // Deletes the cache and starts again. | 293 // Deletes the cache and starts again. |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 base::WaitableEvent done_; // Signals the end of background work. | 390 base::WaitableEvent done_; // Signals the end of background work. |
398 scoped_refptr<TraceObject> trace_object_; // Initializes internal tracing. | 391 scoped_refptr<TraceObject> trace_object_; // Initializes internal tracing. |
399 base::WeakPtrFactory<BackendImpl> ptr_factory_; | 392 base::WeakPtrFactory<BackendImpl> ptr_factory_; |
400 | 393 |
401 DISALLOW_COPY_AND_ASSIGN(BackendImpl); | 394 DISALLOW_COPY_AND_ASSIGN(BackendImpl); |
402 }; | 395 }; |
403 | 396 |
404 } // namespace disk_cache | 397 } // namespace disk_cache |
405 | 398 |
406 #endif // NET_DISK_CACHE_BLOCKFILE_BACKEND_IMPL_H_ | 399 #endif // NET_DISK_CACHE_BLOCKFILE_BACKEND_IMPL_H_ |
OLD | NEW |