diff options
author | qrort <qrort@yandex-team.com> | 2022-11-30 23:47:12 +0300 |
---|---|---|
committer | qrort <qrort@yandex-team.com> | 2022-11-30 23:47:12 +0300 |
commit | 22f8ae0e3f5d68b92aecccdf96c1d841a0334311 (patch) | |
tree | bffa27765faf54126ad44bcafa89fadecb7a73d7 /library/cpp/xdelta3/proto | |
parent | 332b99e2173f0425444abb759eebcb2fafaa9209 (diff) | |
download | ydb-22f8ae0e3f5d68b92aecccdf96c1d841a0334311.tar.gz |
validate canons without yatest_common
Diffstat (limited to 'library/cpp/xdelta3/proto')
-rw-r--r-- | library/cpp/xdelta3/proto/state_header.proto | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/library/cpp/xdelta3/proto/state_header.proto b/library/cpp/xdelta3/proto/state_header.proto new file mode 100644 index 0000000000..21454b8263 --- /dev/null +++ b/library/cpp/xdelta3/proto/state_header.proto @@ -0,0 +1,37 @@ +syntax = "proto2"; + +package NXdeltaAggregateColumn; + +option cc_enable_arenas = true; + +// update ArenaMaxSize with reasonable constant after Header modification +// note! not using strings here to avoid heap allocations + +message TStateHeader { + enum EType { + NONE_TYPE = 0; + BASE = 1; + PATCH = 2; + }; + + enum EErrorCode { + NO_ERROR = 0; + HEADER_PARSE_ERROR = 1; + BASE_HASH_ERROR = 2; + STATE_HASH_ERROR = 3; + MERGE_PATCHES_ERROR = 4; + APPLY_PATCH_ERROR = 5; + YT_MERGE_ERROR = 6; + MISSING_REQUIRED_FIELD_ERROR = 7; + WRONG_DATA_SIZE = 8; + STATE_SIZE_ERROR = 9; + PROTOBUF_ERROR = 10; + }; + + optional EType type = 1; // base or patch + optional uint32 base_hash = 2; // applicable for patch - hash of base to apply on + optional uint32 state_hash = 3; // applicable for patch - hash of target state + optional uint32 state_size = 4; // applicable for patch - target state size - remove it? + optional uint32 data_size = 5; // base or patch payload size + optional EErrorCode error_code = 6; +}; |