| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- syntax = "proto3";
- package db;
- import "repos/protobuf/gogoproto/gogo.proto";
- import "lib/protocol/bep.proto";
- option (gogoproto.goproto_getters_all) = false;
- option (gogoproto.sizer_all) = false;
- option (gogoproto.protosizer_all) = true;
- option (gogoproto.goproto_unkeyed_all) = false;
- option (gogoproto.goproto_unrecognized_all) = false;
- option (gogoproto.goproto_sizecache_all) = false;
- message FileVersion {
- protocol.Vector version = 1 [(gogoproto.nullable) = false];
- bytes device = 2;
- bool invalid = 3;
- }
- message VersionList {
- option (gogoproto.goproto_stringer) = false;
- repeated FileVersion versions = 1 [(gogoproto.nullable) = false];
- }
- // 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 [(gogoproto.customtype) = "github.com/syncthing/syncthing/lib/protocol.ShortID", (gogoproto.nullable) = false];
- protocol.Vector version = 9 [(gogoproto.nullable) = false];
- int64 sequence = 10;
- // repeated BlockInfo Blocks = 16
- string symlink_target = 17;
- bytes blocks_hash = 18;
- protocol.FileInfoType type = 2;
- uint32 permissions = 4;
- int32 modified_ns = 11;
- int32 block_size = 13 [(gogoproto.customname) = "RawBlockSize"];
- // see bep.proto
- uint32 local_flags = 1000;
- bool deleted = 6;
- bool invalid = 7 [(gogoproto.customname) = "RawInvalid"];
- bool no_permissions = 8;
- }
- // BlockList is the structure used to store block lists
- message BlockList {
- repeated protocol.BlockInfo Blocks = 1 [(gogoproto.nullable) = false];
- }
- // BlocksHashOnly is used to only unmarshal the block list hash from a FileInfo
- message BlocksHashOnly {
- bytes blocks_hash = 18;
- }
- // 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 {
- int32 files = 1;
- int32 directories = 2;
- int32 symlinks = 3;
- int32 deleted = 4;
- int64 bytes = 5;
- int64 sequence = 6; // zero for the global state
- bytes deviceID = 17; // device ID for remote devices, or special values for local/global
- uint32 localFlags = 18; // the local flag for this count bucket
- }
- message CountsSet {
- repeated Counts counts = 1 [(gogoproto.nullable) = false];
- int64 created = 2; // unix nanos
- }
|