aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/xdelta3/proto
diff options
context:
space:
mode:
authorqrort <qrort@yandex-team.com>2022-11-30 23:47:12 +0300
committerqrort <qrort@yandex-team.com>2022-11-30 23:47:12 +0300
commit22f8ae0e3f5d68b92aecccdf96c1d841a0334311 (patch)
treebffa27765faf54126ad44bcafa89fadecb7a73d7 /library/cpp/xdelta3/proto
parent332b99e2173f0425444abb759eebcb2fafaa9209 (diff)
downloadydb-22f8ae0e3f5d68b92aecccdf96c1d841a0334311.tar.gz
validate canons without yatest_common
Diffstat (limited to 'library/cpp/xdelta3/proto')
-rw-r--r--library/cpp/xdelta3/proto/state_header.proto37
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;
+};