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

Side by Side Diff: net/disk_cache/simple/simple_index.h

Issue 14877019: Minor SimpleCacheBackend improvements. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Use sizeof("_0") - 1' Created 7 years, 6 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
« no previous file with comments | « net/disk_cache/simple/simple_backend_impl.h ('k') | net/disk_cache/simple/simple_index.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 #ifndef NET_DISK_CACHE_SIMPLE_SIMPLE_INDEX_H_ 5 #ifndef NET_DISK_CACHE_SIMPLE_SIMPLE_INDEX_H_
6 #define NET_DISK_CACHE_SIMPLE_SIMPLE_INDEX_H_ 6 #define NET_DISK_CACHE_SIMPLE_SIMPLE_INDEX_H_
7 7
8 #include <list> 8 #include <list>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 FRIEND_TEST_ALL_PREFIXES(SimpleIndexTest, IsIndexFileStale); 128 FRIEND_TEST_ALL_PREFIXES(SimpleIndexTest, IsIndexFileStale);
129 FRIEND_TEST_ALL_PREFIXES(SimpleIndexTest, IndexSizeCorrectOnMerge); 129 FRIEND_TEST_ALL_PREFIXES(SimpleIndexTest, IndexSizeCorrectOnMerge);
130 typedef base::Callback<void(scoped_ptr<EntrySet>, bool force_index_flush)> 130 typedef base::Callback<void(scoped_ptr<EntrySet>, bool force_index_flush)>
131 IndexCompletionCallback; 131 IndexCompletionCallback;
132 132
133 void StartEvictionIfNeeded(); 133 void StartEvictionIfNeeded();
134 void EvictionDone(scoped_ptr<int> result); 134 void EvictionDone(scoped_ptr<int> result);
135 135
136 void PostponeWritingToDisk(); 136 void PostponeWritingToDisk();
137 137
138 void UpdateEntryIteratorSize(EntrySet::iterator* it, uint64 entry_size);
139
138 // Using the mtime of the file and its mtime, detects if the index file is 140 // Using the mtime of the file and its mtime, detects if the index file is
139 // stale. 141 // stale.
140 static bool IsIndexFileStale(const base::FilePath& index_filename); 142 static bool IsIndexFileStale(const base::FilePath& index_filename);
141 143
142 static void InitializeInternal( 144 static void InitializeInternal(
143 const base::FilePath& index_filename, 145 const base::FilePath& index_filename,
144 base::SingleThreadTaskRunner* io_thread, 146 base::SingleThreadTaskRunner* io_thread,
145 const IndexCompletionCallback& completion_callback); 147 const IndexCompletionCallback& completion_callback);
146 148
147 // Enumerates all entries' files on disk and regenerates the index. 149 // Enumerates all entries' files on disk and regenerates the index.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 scoped_refptr<base::SingleThreadTaskRunner> io_thread_; 185 scoped_refptr<base::SingleThreadTaskRunner> io_thread_;
184 186
185 // All nonstatic SimpleEntryImpl methods should always be called on the IO 187 // All nonstatic SimpleEntryImpl methods should always be called on the IO
186 // thread, in all cases. |io_thread_checker_| documents and enforces this. 188 // thread, in all cases. |io_thread_checker_| documents and enforces this.
187 base::ThreadChecker io_thread_checker_; 189 base::ThreadChecker io_thread_checker_;
188 190
189 // Timestamp of the last time we wrote the index to disk. 191 // Timestamp of the last time we wrote the index to disk.
190 // PostponeWritingToDisk() may give up postponing and allow the write if it 192 // PostponeWritingToDisk() may give up postponing and allow the write if it
191 // has been a while since last time we wrote. 193 // has been a while since last time we wrote.
192 base::TimeTicks last_write_to_disk_; 194 base::TimeTicks last_write_to_disk_;
195
193 base::OneShotTimer<SimpleIndex> write_to_disk_timer_; 196 base::OneShotTimer<SimpleIndex> write_to_disk_timer_;
197 base::Closure write_to_disk_cb_;
194 198
195 typedef std::list<net::CompletionCallback> CallbackList; 199 typedef std::list<net::CompletionCallback> CallbackList;
196 CallbackList to_run_when_initialized_; 200 CallbackList to_run_when_initialized_;
197 201
198 // Set to true when the app is on the background. When the app is in the 202 // Set to true when the app is on the background. When the app is in the
199 // background we can write the index much more frequently, to insure fresh 203 // background we can write the index much more frequently, to insure fresh
200 // index on next startup. 204 // index on next startup.
201 bool app_on_background_; 205 bool app_on_background_;
202 }; 206 };
203 207
204 } // namespace disk_cache 208 } // namespace disk_cache
205 209
206 #endif // NET_DISK_CACHE_SIMPLE_SIMPLE_INDEX_H_ 210 #endif // NET_DISK_CACHE_SIMPLE_SIMPLE_INDEX_H_
OLDNEW
« no previous file with comments | « net/disk_cache/simple/simple_backend_impl.h ('k') | net/disk_cache/simple/simple_index.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698