Use SQLite for persistence and generate Rust protobuf bindings at build time. Add Docker image support for containerized deployment. Co-Authored-By: codex <[email protected]>
51 lines
1.2 KiB
Protocol Buffer
51 lines
1.2 KiB
Protocol Buffer
// Copyright 2012 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
//
|
|
// Sync protocol for persisting the loopback server state to disk.
|
|
|
|
syntax = "proto2";
|
|
|
|
option go_package = "./sync_pb";
|
|
|
|
option java_multiple_files = true;
|
|
option java_package = "org.chromium.components.sync.protocol";
|
|
|
|
option optimize_for = LITE_RUNTIME;
|
|
|
|
package sync_pb;
|
|
|
|
import "sync_entity.proto";
|
|
|
|
// Serialization of the LoopbackServerEntity and its ancestors.
|
|
message LoopbackServerEntity {
|
|
// Entity type mapping to one of the subclasses of LoopbackServerEntity.
|
|
enum Type {
|
|
UNKNOWN = 0;
|
|
BOOKMARK = 1;
|
|
PERMANENT = 2;
|
|
TOMBSTONE = 3;
|
|
UNIQUE = 4;
|
|
}
|
|
|
|
optional Type type = 1;
|
|
optional SyncEntity entity = 2;
|
|
optional int64 model_type = 3;
|
|
}
|
|
|
|
// Contains the loopback server state.
|
|
message LoopbackServerProto {
|
|
// The protocol buffer format version.
|
|
optional int64 version = 1;
|
|
|
|
optional int64 store_birthday = 2;
|
|
|
|
repeated LoopbackServerEntity entities = 3;
|
|
|
|
// All Keystore keys known to the server.
|
|
repeated bytes keystore_keys = 4;
|
|
|
|
// The last entity ID that was assigned to an entity.
|
|
optional int64 last_version_assigned = 5;
|
|
}
|