// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_PERFORMANCE_MANAGER_PERSISTENCE_SITE_DATA_LEVELDB_SITE_DATA_STORE_H_ #define COMPONENTS_PERFORMANCE_MANAGER_PERSISTENCE_SITE_DATA_LEVELDB_SITE_DATA_STORE_H_ #include "base/files/file_path.h" #include "base/functional/callback_forward.h" #include "base/functional/callback_helpers.h" #include "base/sequence_checker.h" #include "base/task/sequenced_task_runner.h" #include "components/performance_manager/persistence/site_data/site_data_store.h" #include "third_party/leveldatabase/src/include/leveldb/db.h" namespace performance_manager { // Manages a LevelDB database used by a site data store. // TODO(sebmarchand): // - Constrain the size of the database: Use a background task to trim the // database if it becomes too big and ensure that this fails nicely when the // disk is full. // - Batch the write operations to reduce the number of I/O events. // // All the DB operations are done asynchronously on a sequence allowed to do // I/O operations. class LevelDBSiteDataStore : public SiteDataStore { … }; } // namespace performance_manager #endif // COMPONENTS_PERFORMANCE_MANAGER_PERSISTENCE_SITE_DATA_LEVELDB_SITE_DATA_STORE_H_