Index: net/disk_cache/v3/backend_impl_v3.h |
=================================================================== |
--- net/disk_cache/v3/backend_impl_v3.h (revision 0) |
+++ net/disk_cache/v3/backend_impl_v3.h (working copy) |
@@ -52,83 +52,26 @@ |
// Performs general initialization for this current instance of the cache. |
int Init(const CompletionCallback& callback); |
- // Performs the actual initialization and final cleanup on destruction. |
- int SyncInit(); |
- void CleanupCache(); |
- |
// Same behavior as OpenNextEntry but walks the list from back to front. |
int OpenPrevEntry(void** iter, Entry** prev_entry, |
const CompletionCallback& callback); |
- // Synchronous implementation of the asynchronous interface. |
- int SyncOpenEntry(const std::string& key, Entry** entry); |
- int SyncCreateEntry(const std::string& key, Entry** entry); |
- int SyncDoomEntry(const std::string& key); |
- int SyncDoomAllEntries(); |
- int SyncDoomEntriesBetween(base::Time initial_time, |
- base::Time end_time); |
- int SyncDoomEntriesSince(base::Time initial_time); |
- int SyncOpenNextEntry(void** iter, Entry** next_entry); |
- int SyncOpenPrevEntry(void** iter, Entry** prev_entry); |
- void SyncEndEnumeration(void* iter); |
- void SyncOnExternalCacheHit(const std::string& key); |
- |
- // Open or create an entry for the given |key| or |iter|. |
- EntryImpl* OpenEntryImpl(const std::string& key); |
- EntryImpl* CreateEntryImpl(const std::string& key); |
- EntryImpl* OpenNextEntryImpl(void** iter); |
- EntryImpl* OpenPrevEntryImpl(void** iter); |
- |
// Sets the maximum size for the total amount of data stored by this instance. |
bool SetMaxSize(int max_bytes); |
// Sets the cache type for this backend. |
void SetType(net::CacheType type); |
- // Returns the full name for an external storage file. |
- base::FilePath GetFileName(Addr address) const; |
- |
- // Returns the actual file used to store a given (non-external) address. |
- MappedFile* File(Addr address); |
- |
- // Returns a weak pointer to the background queue. |
- base::WeakPtr<InFlightBackendIO> GetBackgroundQueue(); |
- |
- // Creates an external storage file. |
- bool CreateExternalFile(Addr* address); |
- |
// Creates a new storage block of size block_count. |
bool CreateBlock(FileType block_type, int block_count, |
Addr* block_address); |
- // Deletes a given storage block. deep set to true can be used to zero-fill |
- // the related storage in addition of releasing the related block. |
- void DeleteBlock(Addr block_address, bool deep); |
- |
- // Retrieves a pointer to the LRU-related data. |
- LruData* GetLruData(); |
- |
// Updates the ranking information for an entry. |
void UpdateRank(EntryImpl* entry, bool modified); |
- // A node was recovered from a crash, it may not be on the index, so this |
- // method checks it and takes the appropriate action. |
- void RecoveredEntry(CacheRankingsBlock* rankings); |
- |
// Permanently deletes an entry, but still keeps track of it. |
void InternalDoomEntry(EntryImpl* entry); |
-#if defined(NET_BUILD_STRESS_CACHE) |
- // Returns the address of the entry linked to the entry at a given |address|. |
- CacheAddr GetNextAddr(Addr address); |
- |
- // Verifies that |entry| is not currently reachable through the index. |
- void NotLinked(EntryImpl* entry); |
-#endif |
- |
- // Removes all references to this entry. |
- void RemoveEntry(EntryImpl* entry); |
- |
// This method must be called when an entry is released for the last time, so |
// the entry should not be used anymore. |address| is the cache address of the |
// entry. |
@@ -193,12 +136,6 @@ |
// Reports some data when we filled up the cache. |
void FirstEviction(); |
- // Reports a critical error (and disables the cache). |
- void CriticalError(int error); |
- |
- // Reports an uncommon, recoverable error. |
- void ReportError(int error); |
- |
// Called when an interesting event should be logged (counted). |
void OnEvent(Stats::Counters an_event); |
@@ -209,10 +146,6 @@ |
// Timer callback to calculate usage statistics. |
void OnStatsTimer(); |
- // Handles the pending asynchronous IO count. |
- void IncrementIoCount(); |
- void DecrementIoCount(); |
- |
// Sets internal parameters to enable unit testing mode. |
void SetUnitTestMode(); |
@@ -225,17 +158,9 @@ |
// Sets an explicit set of BackendFlags. |
void SetFlags(uint32 flags); |
- // Clears the counter of references to test handling of corruptions. |
- void ClearRefCountForTest(); |
- |
// Sends a dummy operation through the operation queue, for unit tests. |
int FlushQueueForTest(const CompletionCallback& callback); |
- // Runs the provided task on the cache thread. The task will be automatically |
- // deleted after it runs. |
- int RunTaskForTest(const base::Closure& task, |
- const CompletionCallback& callback); |
- |
// Trims an entry (all if |empty| is true) from the list of deleted |
// entries. This method should be called directly on the cache thread. |
void TrimForTest(bool empty); |
@@ -248,9 +173,6 @@ |
// or an error code (negative value). |
int SelfCheck(); |
- // Ensures the index is flushed to disk (a no-op on platforms with mmap). |
- void FlushIndex(); |
- |
// Backend implementation. |
virtual net::CacheType GetCacheType() const OVERRIDE; |
virtual int32 GetEntryCount() const OVERRIDE; |
@@ -275,9 +197,6 @@ |
private: |
typedef base::hash_map<CacheAddr, EntryImpl*> EntriesMap; |
- // Creates a new backing file for the cache index. |
- bool CreateBackingStore(disk_cache::File* file); |
- bool InitBackingStore(bool* file_created); |
void AdjustMaxCacheSize(int table_len); |
bool InitStats(); |
@@ -287,38 +206,15 @@ |
void RestartCache(bool failure); |
void PrepareForRestart(); |
+ void CleanupCache(); |
+ |
// Creates a new entry object. Returns zero on success, or a disk_cache error |
// on failure. |
int NewEntry(Addr address, EntryImpl** entry); |
- // Returns a given entry from the cache. The entry to match is determined by |
- // key and hash, and the returned entry may be the matched one or it's parent |
- // on the list of entries with the same hash (or bucket). To look for a parent |
- // of a given entry, |entry_addr| should be grabbed from that entry, so that |
- // if it doesn't match the entry on the index, we know that it was replaced |
- // with a new entry; in this case |*match_error| will be set to true and the |
- // return value will be NULL. |
- EntryImpl* MatchEntry(const std::string& key, uint32 hash, bool find_parent, |
- Addr entry_addr, bool* match_error); |
- |
// Opens the next or previous entry on a cache iteration. |
EntryImpl* OpenFollowingEntry(bool forward, void** iter); |
- // Opens the next or previous entry on a single list. If successful, |
- // |from_entry| will be updated to point to the new entry, otherwise it will |
- // be set to NULL; in other words, it is used as an explicit iterator. |
- bool OpenFollowingEntryFromList(bool forward, Rankings::List list, |
- CacheRankingsBlock** from_entry, |
- EntryImpl** next_entry); |
- |
- // Returns the entry that is pointed by |next|, from the given |list|. |
- EntryImpl* GetEnumeratedEntry(CacheRankingsBlock* next, Rankings::List list); |
- |
- // Re-opens an entry that was previously deleted. |
- EntryImpl* ResurrectEntry(EntryImpl* deleted_entry); |
- |
- void DestroyInvalidEntry(EntryImpl* entry); |
- |
// Handles the used storage count. |
void AddStorageSize(int32 bytes); |
void SubstractStorageSize(int32 bytes); |
@@ -335,8 +231,8 @@ |
// Send UMA stats. |
void ReportStats(); |
- // Upgrades the index file to version 2.1. |
- void UpgradeTo2_1(); |
+ // Reports an uncommon, recoverable error. |
+ void ReportError(int error); |
// Performs basic checks on the index file. Returns false on failure. |
bool CheckIndex(); |
@@ -350,19 +246,14 @@ |
// Returns the maximum total memory for the memory buffers. |
int MaxBuffersSize(); |
- InFlightBackendIO background_queue_; // The controller of pending operations. |
scoped_refptr<MappedFile> index_; // The main cache index. |
base::FilePath path_; // Path to the folder used as backing storage. |
- Index* data_; // Pointer to the index data. |
BlockFiles block_files_; // Set of files used to store all data. |
- Rankings rankings_; // Rankings to be able to trim the cache. |
- uint32 mask_; // Binary mask to map a hash to the hash table. |
int32 max_size_; // Maximum data size for this instance. |
Eviction eviction_; // Handler of the eviction algorithm. |
EntriesMap open_entries_; // Map of open entries. |
int num_refs_; // Number of referenced cache entries. |
int max_refs_; // Max number of referenced cache entries. |
- int num_pending_io_; // Number of pending IO operations. |
int entry_count_; // Number of entries accessed lately. |
int byte_count_; // Number of bytes read/written lately. |
int buffer_bytes_; // Total size of the temporary entries' buffers. |
@@ -383,7 +274,6 @@ |
Stats stats_; // Usage statistics. |
scoped_ptr<base::RepeatingTimer<BackendImpl> > timer_; // Usage timer. |
- base::WaitableEvent done_; // Signals the end of background work. |
scoped_refptr<TraceObject> trace_object_; // Initializes internal tracing. |
base::WeakPtrFactory<BackendImpl> ptr_factory_; |