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

Side by Side Diff: chrome/browser/safe_browsing/safe_browsing_database_bloom.h

Issue 7995: Move Time, TimeDelta and TimeTicks into namespace base. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_DATABASE_BLOOM_H_ 5 #ifndef CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_DATABASE_BLOOM_H_
6 #define CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_DATABASE_BLOOM_H_ 6 #define CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_DATABASE_BLOOM_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <list> 9 #include <list>
10 #include <queue> 10 #include <queue>
(...skipping 26 matching lines...) Expand all
37 // Deletes the current database and creates a new one. 37 // Deletes the current database and creates a new one.
38 virtual bool ResetDatabase(); 38 virtual bool ResetDatabase();
39 39
40 // Returns false if the given url is not in the database. If it returns 40 // Returns false if the given url is not in the database. If it returns
41 // true, then either "list" is the name of the matching list, or prefix_hits 41 // true, then either "list" is the name of the matching list, or prefix_hits
42 // contains the matching hash prefixes. 42 // contains the matching hash prefixes.
43 virtual bool ContainsUrl(const GURL& url, 43 virtual bool ContainsUrl(const GURL& url,
44 std::string* matching_list, 44 std::string* matching_list,
45 std::vector<SBPrefix>* prefix_hits, 45 std::vector<SBPrefix>* prefix_hits,
46 std::vector<SBFullHashResult>* full_hits, 46 std::vector<SBFullHashResult>* full_hits,
47 Time last_update); 47 base::Time last_update);
48 48
49 // Processes add/sub commands. Database will free the chunks when it's done. 49 // Processes add/sub commands. Database will free the chunks when it's done.
50 virtual void InsertChunks(const std::string& list_name, 50 virtual void InsertChunks(const std::string& list_name,
51 std::deque<SBChunk>* chunks); 51 std::deque<SBChunk>* chunks);
52 52
53 // Processs adddel/subdel commands. Database will free chunk_deletes when 53 // Processs adddel/subdel commands. Database will free chunk_deletes when
54 // it's done. 54 // it's done.
55 virtual void DeleteChunks(std::vector<SBChunkDelete>* chunk_deletes); 55 virtual void DeleteChunks(std::vector<SBChunkDelete>* chunk_deletes);
56 56
57 // Returns the lists and their add/sub chunks. 57 // Returns the lists and their add/sub chunks.
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 void AddDel(int list_id, int add_chunk_id); 143 void AddDel(int list_id, int add_chunk_id);
144 144
145 // Processes a sub-del command, which just removes the sub chunk id from 145 // Processes a sub-del command, which just removes the sub chunk id from
146 // our list. 146 // our list.
147 void SubDel(const std::string& list_name, int sub_chunk_id); 147 void SubDel(const std::string& list_name, int sub_chunk_id);
148 void SubDel(int list_id, int sub_chunk_id); 148 void SubDel(int list_id, int sub_chunk_id);
149 149
150 // Looks up any cached full hashes we may have. 150 // Looks up any cached full hashes we may have.
151 void GetCachedFullHashes(const std::vector<SBPrefix>* prefix_hits, 151 void GetCachedFullHashes(const std::vector<SBPrefix>* prefix_hits,
152 std::vector<SBFullHashResult>* full_hits, 152 std::vector<SBFullHashResult>* full_hits,
153 Time last_update); 153 base::Time last_update);
154 154
155 // Remove cached entries that have prefixes contained in the entry. 155 // Remove cached entries that have prefixes contained in the entry.
156 void ClearCachedHashes(const SBEntry* entry); 156 void ClearCachedHashes(const SBEntry* entry);
157 157
158 // Remove all GetHash entries that match the list and chunk id from an AddDel. 158 // Remove all GetHash entries that match the list and chunk id from an AddDel.
159 void ClearCachedHashesForChunk(int list_id, int add_chunk_id); 159 void ClearCachedHashesForChunk(int list_id, int add_chunk_id);
160 160
161 void HandleCorruptDatabase(); 161 void HandleCorruptDatabase();
162 void OnHandleCorruptDatabase(); 162 void OnHandleCorruptDatabase();
163 163
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 ScopedRunnableMethodFactory<SafeBrowsingDatabaseBloom> reset_factory_; 223 ScopedRunnableMethodFactory<SafeBrowsingDatabaseBloom> reset_factory_;
224 224
225 // Used to schedule resuming from a lower power state. 225 // Used to schedule resuming from a lower power state.
226 ScopedRunnableMethodFactory<SafeBrowsingDatabaseBloom> resume_factory_; 226 ScopedRunnableMethodFactory<SafeBrowsingDatabaseBloom> resume_factory_;
227 227
228 // Used for caching GetHash results. 228 // Used for caching GetHash results.
229 typedef struct HashCacheEntry { 229 typedef struct HashCacheEntry {
230 SBFullHash full_hash; 230 SBFullHash full_hash;
231 int list_id; 231 int list_id;
232 int add_chunk_id; 232 int add_chunk_id;
233 Time received; 233 base::Time received;
234 } HashCacheEntry; 234 } HashCacheEntry;
235 235
236 typedef std::list<HashCacheEntry> HashList; 236 typedef std::list<HashCacheEntry> HashList;
237 typedef base::hash_map<SBPrefix, HashList> HashCache; 237 typedef base::hash_map<SBPrefix, HashList> HashCache;
238 HashCache hash_cache_; 238 HashCache hash_cache_;
239 239
240 // Cache of prefixes that returned empty results (no full hash match). 240 // Cache of prefixes that returned empty results (no full hash match).
241 std::set<SBPrefix> prefix_miss_cache_; 241 std::set<SBPrefix> prefix_miss_cache_;
242 242
243 // a cache of all of the existing add and sub chunks 243 // a cache of all of the existing add and sub chunks
244 std::set<int> add_chunk_cache_; 244 std::set<int> add_chunk_cache_;
245 std::set<int> sub_chunk_cache_; 245 std::set<int> sub_chunk_cache_;
246 246
247 // The number of entries in the add_prefix table. Used to pick the correct 247 // The number of entries in the add_prefix table. Used to pick the correct
248 // size for the bloom filter. 248 // size for the bloom filter.
249 int add_count_; 249 int add_count_;
250 250
251 // Set to true if the machine just resumed out of a sleep. When this happens, 251 // Set to true if the machine just resumed out of a sleep. When this happens,
252 // we pause disk activity for some time to avoid thrashing the system while 252 // we pause disk activity for some time to avoid thrashing the system while
253 // it's presumably going to be pretty busy. 253 // it's presumably going to be pretty busy.
254 bool did_resume_; 254 bool did_resume_;
255 255
256 DISALLOW_COPY_AND_ASSIGN(SafeBrowsingDatabaseBloom); 256 DISALLOW_COPY_AND_ASSIGN(SafeBrowsingDatabaseBloom);
257 }; 257 };
258 258
259 #endif // CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_DATABASE_BLOOM_H_ 259 #endif // CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_DATABASE_BLOOM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698