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

Unified Diff: net/disk_cache/simple/simple_index.h

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/disk_cache/simple/simple_histogram_macros.h ('k') | net/disk_cache/simple/simple_index.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/disk_cache/simple/simple_index.h
diff --git a/net/disk_cache/simple/simple_index.h b/net/disk_cache/simple/simple_index.h
deleted file mode 100644
index 099d7fdb80c5ce6869ee2654497572209611b29a..0000000000000000000000000000000000000000
--- a/net/disk_cache/simple/simple_index.h
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef NET_DISK_CACHE_SIMPLE_SIMPLE_INDEX_H_
-#define NET_DISK_CACHE_SIMPLE_SIMPLE_INDEX_H_
-
-#include <list>
-#include <vector>
-
-#include "base/basictypes.h"
-#include "base/callback.h"
-#include "base/containers/hash_tables.h"
-#include "base/files/file_path.h"
-#include "base/gtest_prod_util.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "base/single_thread_task_runner.h"
-#include "base/threading/thread_checker.h"
-#include "base/time/time.h"
-#include "base/timer/timer.h"
-#include "net/base/cache_type.h"
-#include "net/base/completion_callback.h"
-#include "net/base/net_export.h"
-
-#if defined(OS_ANDROID)
-#include "base/android/application_status_listener.h"
-#endif
-
-class Pickle;
-class PickleIterator;
-
-namespace disk_cache {
-
-class SimpleIndexDelegate;
-class SimpleIndexFile;
-struct SimpleIndexLoadResult;
-
-class NET_EXPORT_PRIVATE EntryMetadata {
- public:
- EntryMetadata();
- EntryMetadata(base::Time last_used_time, uint64 entry_size);
-
- base::Time GetLastUsedTime() const;
- void SetLastUsedTime(const base::Time& last_used_time);
-
- uint64 GetEntrySize() const;
- void SetEntrySize(uint64 entry_size);
-
- // Serialize the data into the provided pickle.
- void Serialize(Pickle* pickle) const;
- bool Deserialize(PickleIterator* it);
-
- static base::TimeDelta GetLowerEpsilonForTimeComparisons() {
- return base::TimeDelta::FromSeconds(1);
- }
- static base::TimeDelta GetUpperEpsilonForTimeComparisons() {
- return base::TimeDelta();
- }
-
- private:
- friend class SimpleIndexFileTest;
-
- // There are tens of thousands of instances of EntryMetadata in memory, so the
- // size of each entry matters. Even when the values used to set these members
- // are originally calculated as >32-bit types, the actual necessary size for
- // each shouldn't exceed 32 bits, so we use 32-bit types here.
- uint32 last_used_time_seconds_since_epoch_;
- int32 entry_size_; // Storage size in bytes.
-};
-static_assert(sizeof(EntryMetadata) == 8, "incorrect metadata size");
-
-// This class is not Thread-safe.
-class NET_EXPORT_PRIVATE SimpleIndex
- : public base::SupportsWeakPtr<SimpleIndex> {
- public:
- typedef std::vector<uint64> HashList;
-
- SimpleIndex(const scoped_refptr<base::SingleThreadTaskRunner>& io_thread,
- SimpleIndexDelegate* delegate,
- net::CacheType cache_type,
- scoped_ptr<SimpleIndexFile> simple_index_file);
-
- virtual ~SimpleIndex();
-
- void Initialize(base::Time cache_mtime);
-
- void SetMaxSize(uint64 max_bytes);
- uint64 max_size() const { return max_size_; }
-
- void Insert(uint64 entry_hash);
- void Remove(uint64 entry_hash);
-
- // Check whether the index has the entry given the hash of its key.
- bool Has(uint64 entry_hash) const;
-
- // Update the last used time of the entry with the given key and return true
- // iff the entry exist in the index.
- bool UseIfExists(uint64 entry_hash);
-
- void WriteToDisk();
-
- // Update the size (in bytes) of an entry, in the metadata stored in the
- // index. This should be the total disk-file size including all streams of the
- // entry.
- bool UpdateEntrySize(uint64 entry_hash, int64 entry_size);
-
- typedef base::hash_map<uint64, EntryMetadata> EntrySet;
-
- static void InsertInEntrySet(uint64 entry_hash,
- const EntryMetadata& entry_metadata,
- EntrySet* entry_set);
-
- // Executes the |callback| when the index is ready. Allows multiple callbacks.
- int ExecuteWhenReady(const net::CompletionCallback& callback);
-
- // Returns entries from the index that have last accessed time matching the
- // range between |initial_time| and |end_time| where open intervals are
- // possible according to the definition given in |DoomEntriesBetween()| in the
- // disk cache backend interface.
- scoped_ptr<HashList> GetEntriesBetween(const base::Time initial_time,
- const base::Time end_time);
-
- // Returns the list of all entries key hash.
- scoped_ptr<HashList> GetAllHashes();
-
- // Returns number of indexed entries.
- int32 GetEntryCount() const;
-
- // Returns whether the index has been initialized yet.
- bool initialized() const { return initialized_; }
-
- private:
- friend class SimpleIndexTest;
- FRIEND_TEST_ALL_PREFIXES(SimpleIndexTest, IndexSizeCorrectOnMerge);
- FRIEND_TEST_ALL_PREFIXES(SimpleIndexTest, DiskWriteQueued);
- FRIEND_TEST_ALL_PREFIXES(SimpleIndexTest, DiskWriteExecuted);
- FRIEND_TEST_ALL_PREFIXES(SimpleIndexTest, DiskWritePostponed);
-
- void StartEvictionIfNeeded();
- void EvictionDone(int result);
-
- void PostponeWritingToDisk();
-
- void UpdateEntryIteratorSize(EntrySet::iterator* it, int64 entry_size);
-
- // Must run on IO Thread.
- void MergeInitializingSet(scoped_ptr<SimpleIndexLoadResult> load_result);
-
-#if defined(OS_ANDROID)
- void OnApplicationStateChange(base::android::ApplicationState state);
-
- scoped_ptr<base::android::ApplicationStatusListener> app_status_listener_;
-#endif
-
- // The owner of |this| must ensure the |delegate_| outlives |this|.
- SimpleIndexDelegate* delegate_;
-
- EntrySet entries_set_;
-
- const net::CacheType cache_type_;
- uint64 cache_size_; // Total cache storage size in bytes.
- uint64 max_size_;
- uint64 high_watermark_;
- uint64 low_watermark_;
- bool eviction_in_progress_;
- base::TimeTicks eviction_start_time_;
-
- // This stores all the entry_hash of entries that are removed during
- // initialization.
- base::hash_set<uint64> removed_entries_;
- bool initialized_;
-
- scoped_ptr<SimpleIndexFile> index_file_;
-
- scoped_refptr<base::SingleThreadTaskRunner> io_thread_;
-
- // All nonstatic SimpleEntryImpl methods should always be called on the IO
- // thread, in all cases. |io_thread_checker_| documents and enforces this.
- base::ThreadChecker io_thread_checker_;
-
- // Timestamp of the last time we wrote the index to disk.
- // PostponeWritingToDisk() may give up postponing and allow the write if it
- // has been a while since last time we wrote.
- base::TimeTicks last_write_to_disk_;
-
- base::OneShotTimer<SimpleIndex> write_to_disk_timer_;
- base::Closure write_to_disk_cb_;
-
- typedef std::list<net::CompletionCallback> CallbackList;
- CallbackList to_run_when_initialized_;
-
- // Set to true when the app is on the background. When the app is in the
- // background we can write the index much more frequently, to insure fresh
- // index on next startup.
- bool app_on_background_;
-};
-
-} // namespace disk_cache
-
-#endif // NET_DISK_CACHE_SIMPLE_SIMPLE_INDEX_H_
« no previous file with comments | « net/disk_cache/simple/simple_histogram_macros.h ('k') | net/disk_cache/simple/simple_index.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698