| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- syntax = "proto3";
- package db;
- import "repos/protobuf/gogoproto/gogo.proto";
- import "google/protobuf/timestamp.proto";
- import "lib/protocol/bep.proto";
- import "ext.proto";
- message FileVersion {
- protocol.Vector version = 1;
- bool deleted = 2;
- repeated bytes devices = 3;
- repeated bytes invalid_devices = 4;
- }
- message VersionList {
- option (gogoproto.goproto_stringer) = false;
- repeated FileVersion versions = 1 [(ext.goname) = "RawVersions"];
- }
- // Must be the same as FileInfo but without the blocks field
- message FileInfoTruncated {
- option (gogoproto.goproto_stringer) = false;
- string name = 1;
- int64 size = 3;
- int64 modified_s = 5;
- uint64 modified_by = 12 [(ext.gotype) = "github.com/syncthing/syncthing/lib/protocol.ShortID"];
- protocol.Vector version = 9;
- int64 sequence = 10;
- // repeated BlockInfo Blocks = 16
- string symlink_target = 17;
- bytes blocks_hash = 18;
- bytes encrypted = 19;
- protocol.FileInfoType type = 2;
- uint32 permissions = 4;
- int32 modified_ns = 11;
- int32 block_size = 13 [(ext.goname) = "RawBlockSize"];
- // see bep.proto
- uint32 local_flags = 1000;
- bytes version_hash = 1001;
- bool deleted = 6;
- bool invalid = 7 [(ext.goname) = "RawInvalid"];
- bool no_permissions = 8;
- }
- // BlockList is the structure used to store block lists
- message BlockList {
- repeated protocol.BlockInfo blocks = 1;
- }
- // IndirectionHashesOnly is used to only unmarshal the indirection hashes
- // from a FileInfo
- message IndirectionHashesOnly {
- bytes blocks_hash = 18;
- bytes version_hash = 1001;
- }
- // For each folder and device we keep one of these to track the current
- // counts and sequence. We also keep one for the global state of the folder.
- message Counts {
- option (gogoproto.goproto_stringer) = false;
- int32 files = 1;
- int32 directories = 2;
- int32 symlinks = 3;
- int32 deleted = 4;
- int64 bytes = 5;
- int64 sequence = 6; // zero for the global state
- bytes device_id = 17 [(ext.goname) = "DeviceID"]; // device ID for remote devices, or special values for local/global
- uint32 local_flags = 18; // the local flag for this count bucket
- }
- message CountsSet {
- repeated Counts counts = 1;
- int64 created = 2; // unix nanos
- }
- message FileVersionDeprecated {
- protocol.Vector version = 1;
- bytes device = 2;
- bool invalid = 3;
- bool deleted = 4;
- }
- message VersionListDeprecated {
- option (gogoproto.goproto_stringer) = false;
- repeated FileVersionDeprecated versions = 1;
- }
- message ObservedFolder {
- google.protobuf.Timestamp time = 1 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
- string label = 2;
- bool receive_encrypted = 3;
- }
- message ObservedDevice {
- google.protobuf.Timestamp time = 1 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
- string name = 2;
- string address = 3;
- }
|