blob: c7ad990be2e645a6ec7d4c2364ac1baca7508a7f [file] [log] [blame]
// 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;
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;
}