| // 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. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| package optimization_guide.proto; |
| |
| import "components/optimization_guide/proto/hints.proto"; |
| import "components/optimization_guide/proto/models.proto"; |
| |
| // The types of StoreEntries. |
| // |
| // The values should match those of |
| // components/optimization_guide/core/hints/optimization_guide_store.h |
| enum StoreEntryType { |
| // StoreEntryType when the entry type is unknown. |
| EMPTY = 0; |
| // StoreEntryType when storing a metadata entry, which holds metadata about |
| // the store and the set of entries for a particular source, fetched or |
| // component. |
| METADATA = 1; |
| // StoreEntryType when storing a component hint entry, holds a hint that was |
| // provided by a component update. The version should be provided. |
| COMPONENT_HINT = 2; |
| // StoreEntryType when storing a fetched hint entry, holds a hint that was |
| // fetched from the remote Optimization Guide Service. |update_time_secs| |
| // should be provided. |
| FETCHED_HINT = 3; |
| // StoreEntryType when storing a prediction model entry, holds a prediction |
| // model provided by the remote Optimization Guide Service. |
| PREDICTION_MODEL = 4; |
| // StoreEntryType when storing a host model features entry, holds the model |
| // features keyed provided by host from the remote Optimization Guide |
| // Service. |update_time_secs| should be provided. |
| DEPRECATED_HOST_MODEL_FEATURES = 5 [deprecated = true]; |
| } |
| |
| message StoreEntry { |
| reserved 7; |
| |
| // Generic version field. For the schema metadata entry, version represents |
| // the schema version; for the component metadata entry, version represents |
| // the component version. |
| optional string version = 1; |
| // The actual hint data. |
| optional Hint hint = 2; |
| // Time when top host fetched hints are still usable but update should be |
| // requested. This is set on the fetched metadata entry and host model feature |
| // metadata entries. |
| optional int64 update_time_secs = 3; |
| // The type of entry stored. |
| optional StoreEntryType entry_type = 4; |
| // Expiry time for this Hint entry (i.e., when hint is no longer usable). This |
| // is set on OnePlatform Hint entries, as well as PredictionModel entries. |
| optional int64 expiry_time_secs = 5; |
| // The actual PredictionModel data. |
| optional PredictionModel prediction_model = 6; |
| // Whether to delete a model once expiry_time_secs is past. |
| optional bool keep_beyond_valid_duration = 8; |
| } |