#include "components/value_store/leveldb_value_store.h"
#include <inttypes.h>
#include <stdint.h>
#include <string_view>
#include <utility>
#include "base/files/file_util.h"
#include "base/json/json_reader.h"
#include "base/json/json_writer.h"
#include "base/notreached.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/sys_string_conversions.h"
#include "base/task/sequenced_task_runner.h"
#include "base/threading/scoped_blocking_call.h"
#include "base/trace_event/memory_dump_manager.h"
#include "base/trace_event/process_memory_dump.h"
#include "third_party/leveldatabase/env_chromium.h"
#include "third_party/leveldatabase/src/include/leveldb/iterator.h"
#include "third_party/leveldatabase/src/include/leveldb/write_batch.h"
namespace {
const char kInvalidJson[] = …;
const char kCannotSerialize[] = …;
}
namespace value_store {
LeveldbValueStore::LeveldbValueStore(const std::string& uma_client_name,
const base::FilePath& db_path)
: … { … }
LeveldbValueStore::~LeveldbValueStore() { … }
size_t LeveldbValueStore::GetBytesInUse(const std::string& key) { … }
size_t LeveldbValueStore::GetBytesInUse(const std::vector<std::string>& keys) { … }
size_t LeveldbValueStore::GetBytesInUse() { … }
ValueStore::ReadResult LeveldbValueStore::Get(const std::string& key) { … }
ValueStore::ReadResult LeveldbValueStore::Get(
const std::vector<std::string>& keys) { … }
ValueStore::ReadResult LeveldbValueStore::Get() { … }
ValueStore::WriteResult LeveldbValueStore::Set(WriteOptions options,
const std::string& key,
const base::Value& value) { … }
ValueStore::WriteResult LeveldbValueStore::Set(
WriteOptions options,
const base::Value::Dict& settings) { … }
ValueStore::WriteResult LeveldbValueStore::Remove(const std::string& key) { … }
ValueStore::WriteResult LeveldbValueStore::Remove(
const std::vector<std::string>& keys) { … }
ValueStore::WriteResult LeveldbValueStore::Clear() { … }
bool LeveldbValueStore::WriteToDbForTest(leveldb::WriteBatch* batch) { … }
bool LeveldbValueStore::OnMemoryDump(
const base::trace_event::MemoryDumpArgs& args,
base::trace_event::ProcessMemoryDump* pmd) { … }
ValueStore::Status LeveldbValueStore::AddToBatch(
ValueStore::WriteOptions options,
const std::string& key,
const base::Value& value,
leveldb::WriteBatch* batch,
ValueStoreChangeList* changes) { … }
ValueStore::Status LeveldbValueStore::WriteToDb(leveldb::WriteBatch* batch) { … }
}