// Copyright 2014 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. syntax = "proto2"; option optimize_for = LITE_RUNTIME; option retain_unknown_fields = true; package attachment_store_pb; // Metadata for leveldb attachment store database. message StoreMetadata { // |schema_version| indicates format in which data is written in attachment // store. Needed for upgrade and to prevent newer data from being loaded by // older code that doesn't understand it. optional int32 schema_version = 1; } // Metadata for attachment in attachment store. Storing metadata in separate // record from actual data allows us to enumerate attachments in the store // without incurring cost to read actual data. It also allows us to update // attachment metadata independent of the data. message RecordMetadata { // Size of attachment data. Useful for attachment store space management. optional int64 attachment_size = 1; // Crc32c of attachment data. optional fixed32 crc32c = 2; // Component enum mirrors values of AttachmentStore::Component. enum Component { UNKNOWN = 0; MODEL_TYPE = 1; SYNC = 2; } // Set of components that reference this attachment. repeated Component component = 3; }