Skip to content

Commit b59d154

Browse files
committed
proto: supporting zstd dictionary
DO NOT MERGE. This is mainly served as a conversation starter for future dictionary compression features.
1 parent ecc4729 commit b59d154

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

proto/remote_execution.proto

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2000,6 +2000,9 @@ message Compressor {
20002000

20012001
// Brotli compression.
20022002
BROTLI = 3;
2003+
2004+
// Zstandard compression with external dictionary support.
2005+
ZSTD_DICT = 4;
20032006
}
20042007
}
20052008

@@ -2036,6 +2039,19 @@ message CacheCapabilities {
20362039
// [BatchUpdateBlobs][build.bazel.remote.execution.v2.ContentAddressableStorage.BatchUpdateBlobs]
20372040
// requests.
20382041
repeated Compressor.Value supported_batch_update_compressors = 7;
2042+
2043+
// BUILDBUDDY EXTENSIONS BELOW
2044+
2045+
// A digest pointing to a [ZstdDictionaryRegistry][build.bazel.remote.execution.v2.ZstdDictionaryRegistry]
2046+
// object in CAS that contains the zstd dictionaries that should be used for
2047+
// compressing and decompressing blobs.
2048+
Digest zstd_dictionary_registry = 1000;
2049+
}
2050+
2051+
message ZstdDictionaryRegistry {
2052+
// Each file's name should be set to either the dictID of the ZSTD dictionary (32 bits unsigned integer),
2053+
// or "default" for the default dictionary that client SHOULD use to compress uploaded data.
2054+
repeated FileNode dictionaries = 1;
20392055
}
20402056

20412057
// Capabilities of the remote execution system.

0 commit comments

Comments
 (0)