// Copyright 2022 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_OPTIMIZATION_GUIDE_CORE_PREDICTION_MODEL_STORE_H_ #define COMPONENTS_OPTIMIZATION_GUIDE_CORE_PREDICTION_MODEL_STORE_H_ #include "base/files/file_path.h" #include "base/memory/scoped_refptr.h" #include "base/memory/weak_ptr.h" #include "base/sequence_checker.h" #include "base/task/sequenced_task_runner.h" #include "base/values.h" #include "components/optimization_guide/core/model_enums.h" #include "components/optimization_guide/proto/models.pb.h" class PrefService; namespace optimization_guide { // The new model store that manages the optimization guide prediction models. // The model store is a key-value store where the optimization target, // ModelCacheKey can be together considered as the key and the value is the // model metadata and its files. For every model following are stored: // * The prediction model file and its additional files are stored in the // model dir. // * The full model metadata as model_info.pb in the model dir. // * Lightweight model metadata in the local state prefs, that is immediately // needed for managing the store, and to avoid the full metadata read. // The model store is meant to be shared across profiles. class PredictionModelStore { … }; } // namespace optimization_guide #endif // COMPONENTS_OPTIMIZATION_GUIDE_CORE_PREDICTION_MODEL_STORE_H_