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

Unified Diff: net/disk_cache/simple/simple_backend_impl.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/OWNERS ('k') | net/disk_cache/simple/simple_backend_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/disk_cache/simple/simple_backend_impl.h
diff --git a/net/disk_cache/simple/simple_backend_impl.h b/net/disk_cache/simple/simple_backend_impl.h
deleted file mode 100644
index 503fc4927b7fc3be29b343decb9e773d26ee01cb..0000000000000000000000000000000000000000
--- a/net/disk_cache/simple/simple_backend_impl.h
+++ /dev/null
@@ -1,212 +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_BACKEND_IMPL_H_
-#define NET_DISK_CACHE_SIMPLE_SIMPLE_BACKEND_IMPL_H_
-
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "base/callback_forward.h"
-#include "base/compiler_specific.h"
-#include "base/containers/hash_tables.h"
-#include "base/files/file_path.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "base/task_runner.h"
-#include "base/time/time.h"
-#include "net/base/cache_type.h"
-#include "net/disk_cache/disk_cache.h"
-#include "net/disk_cache/simple/simple_entry_impl.h"
-#include "net/disk_cache/simple/simple_index_delegate.h"
-
-namespace base {
-class SingleThreadTaskRunner;
-class TaskRunner;
-}
-
-namespace disk_cache {
-
-// SimpleBackendImpl is a new cache backend that stores entries in individual
-// files.
-// See http://www.chromium.org/developers/design-documents/network-stack/disk-cache/very-simple-backend
-//
-// The SimpleBackendImpl provides safe iteration; mutating entries during
-// iteration cannot cause a crash. It is undefined whether entries created or
-// destroyed during the iteration will be included in any pre-existing
-// iterations.
-//
-// The non-static functions below must be called on the IO thread unless
-// otherwise stated.
-
-class SimpleEntryImpl;
-class SimpleIndex;
-
-class NET_EXPORT_PRIVATE SimpleBackendImpl : public Backend,
- public SimpleIndexDelegate,
- public base::SupportsWeakPtr<SimpleBackendImpl> {
- public:
- SimpleBackendImpl(
- const base::FilePath& path,
- int max_bytes,
- net::CacheType cache_type,
- const scoped_refptr<base::SingleThreadTaskRunner>& cache_thread,
- net::NetLog* net_log);
-
- ~SimpleBackendImpl() override;
-
- net::CacheType cache_type() const { return cache_type_; }
- SimpleIndex* index() { return index_.get(); }
-
- base::TaskRunner* worker_pool() { return worker_pool_.get(); }
-
- int Init(const CompletionCallback& completion_callback);
-
- // Sets the maximum size for the total amount of data stored by this instance.
- bool SetMaxSize(int max_bytes);
-
- // Returns the maximum file size permitted in this backend.
- int GetMaxFileSize() const;
-
- // Flush our SequencedWorkerPool.
- static void FlushWorkerPoolForTesting();
-
- // The entry for |entry_hash| is being doomed; the backend will not attempt
- // run new operations for this |entry_hash| until the Doom is completed.
- void OnDoomStart(uint64 entry_hash);
-
- // The entry for |entry_hash| has been successfully doomed, we can now allow
- // operations on this entry, and we can run any operations enqueued while the
- // doom completed.
- void OnDoomComplete(uint64 entry_hash);
-
- // SimpleIndexDelegate:
- void DoomEntries(std::vector<uint64>* entry_hashes,
- const CompletionCallback& callback) override;
-
- // Backend:
- net::CacheType GetCacheType() const override;
- int32 GetEntryCount() const override;
- int OpenEntry(const std::string& key,
- Entry** entry,
- const CompletionCallback& callback) override;
- int CreateEntry(const std::string& key,
- Entry** entry,
- const CompletionCallback& callback) override;
- int DoomEntry(const std::string& key,
- const CompletionCallback& callback) override;
- int DoomAllEntries(const CompletionCallback& callback) override;
- int DoomEntriesBetween(base::Time initial_time,
- base::Time end_time,
- const CompletionCallback& callback) override;
- int DoomEntriesSince(base::Time initial_time,
- const CompletionCallback& callback) override;
- scoped_ptr<Iterator> CreateIterator() override;
- void GetStats(
- std::vector<std::pair<std::string, std::string>>* stats) override;
- void OnExternalCacheHit(const std::string& key) override;
-
- private:
- class SimpleIterator;
- friend class SimpleIterator;
-
- typedef base::hash_map<uint64, SimpleEntryImpl*> EntryMap;
-
- typedef base::Callback<void(base::Time mtime, uint64 max_size, int result)>
- InitializeIndexCallback;
-
- class ActiveEntryProxy;
- friend class ActiveEntryProxy;
-
- // Return value of InitCacheStructureOnDisk().
- struct DiskStatResult {
- base::Time cache_dir_mtime;
- uint64 max_size;
- bool detected_magic_number_mismatch;
- int net_error;
- };
-
- void InitializeIndex(const CompletionCallback& callback,
- const DiskStatResult& result);
-
- // Dooms all entries previously accessed between |initial_time| and
- // |end_time|. Invoked when the index is ready.
- void IndexReadyForDoom(base::Time initial_time,
- base::Time end_time,
- const CompletionCallback& callback,
- int result);
-
- // Try to create the directory if it doesn't exist. This must run on the IO
- // thread.
- static DiskStatResult InitCacheStructureOnDisk(const base::FilePath& path,
- uint64 suggested_max_size);
-
- // Searches |active_entries_| for the entry corresponding to |key|. If found,
- // returns the found entry. Otherwise, creates a new entry and returns that.
- scoped_refptr<SimpleEntryImpl> CreateOrFindActiveEntry(
- uint64 entry_hash,
- const std::string& key);
-
- // Given a hash, will try to open the corresponding Entry. If we have an Entry
- // corresponding to |hash| in the map of active entries, opens it. Otherwise,
- // a new empty Entry will be created, opened and filled with information from
- // the disk.
- int OpenEntryFromHash(uint64 entry_hash,
- Entry** entry,
- const CompletionCallback& callback);
-
- // Doom the entry corresponding to |entry_hash|, if it's active or currently
- // pending doom. This function does not block if there is an active entry,
- // which is very important to prevent races in DoomEntries() above.
- int DoomEntryFromHash(uint64 entry_hash, const CompletionCallback & callback);
-
- // Called when we tried to open an entry with hash alone. When a blank entry
- // has been created and filled in with information from the disk - based on a
- // hash alone - this checks that a duplicate active entry was not created
- // using a key in the meantime.
- void OnEntryOpenedFromHash(uint64 hash,
- Entry** entry,
- const scoped_refptr<SimpleEntryImpl>& simple_entry,
- const CompletionCallback& callback,
- int error_code);
-
- // Called when we tried to open an entry from key. When the entry has been
- // opened, a check for key mismatch is performed.
- void OnEntryOpenedFromKey(const std::string key,
- Entry** entry,
- const scoped_refptr<SimpleEntryImpl>& simple_entry,
- const CompletionCallback& callback,
- int error_code);
-
- // A callback thunk used by DoomEntries to clear the |entries_pending_doom_|
- // after a mass doom.
- void DoomEntriesComplete(scoped_ptr<std::vector<uint64> > entry_hashes,
- const CompletionCallback& callback,
- int result);
-
- const base::FilePath path_;
- const net::CacheType cache_type_;
- scoped_ptr<SimpleIndex> index_;
- const scoped_refptr<base::SingleThreadTaskRunner> cache_thread_;
- scoped_refptr<base::TaskRunner> worker_pool_;
-
- int orig_max_size_;
- const SimpleEntryImpl::OperationsMode entry_operations_mode_;
-
- EntryMap active_entries_;
-
- // The set of all entries which are currently being doomed. To avoid races,
- // these entries cannot have Doom/Create/Open operations run until the doom
- // is complete. The base::Closure map target is used to store deferred
- // operations to be run at the completion of the Doom.
- base::hash_map<uint64, std::vector<base::Closure> > entries_pending_doom_;
-
- net::NetLog* const net_log_;
-};
-
-} // namespace disk_cache
-
-#endif // NET_DISK_CACHE_SIMPLE_SIMPLE_BACKEND_IMPL_H_
« no previous file with comments | « net/disk_cache/simple/OWNERS ('k') | net/disk_cache/simple/simple_backend_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698