Skip to content

Commit 0831f11

Browse files
committed
remote_exec.proto: support ZSTD with dictionary
Closes #272
1 parent 6c32c3b commit 0831f11

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

build/bazel/remote/execution/v2/remote_execution.proto

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1948,7 +1948,7 @@ message Compressor {
19481948
// not need to advertise it.
19491949
IDENTITY = 0;
19501950

1951-
// Zstandard compression.
1951+
// Zstandard compression without dictionary.
19521952
ZSTD = 1;
19531953

19541954
// RFC 1951 Deflate. This format is identical to what is used by ZIP
@@ -1961,9 +1961,28 @@ message Compressor {
19611961

19621962
// Brotli compression.
19631963
BROTLI = 3;
1964+
1965+
// Zstandard compression with dictionary. When is is used, the
1966+
// server MUST advertise the dictionaries by including
1967+
// [ZstdDictionaryRegistry][build.bazel.remote.execution.v2.ZstdDictionaryRegistry]
1968+
// digest in CacheCapabilities.
1969+
ZSTD_DICT = 4;
19641970
}
19651971
}
19661972

1973+
message ZstdDictionaryRegistry {
1974+
// Each file respresent a single Zstandard dictionary
1975+
// with name being the `dictId` that was added to the header
1976+
// of the compressed file.
1977+
//
1978+
// A special file with name `default` is used to represent the
1979+
// default dictionary that is used when no `dictId` is specified.
1980+
// Clients SHOULD prefer to use the default dictionary when possible.
1981+
//
1982+
// The `default` dictionary MUST be present.
1983+
repeated FileNode dictionaries = 1;
1984+
}
1985+
19671986
// Capabilities of the remote cache system.
19681987
message CacheCapabilities {
19691988
// All the digest functions supported by the remote cache.
@@ -1997,6 +2016,11 @@ message CacheCapabilities {
19972016
// [BatchUpdateBlobs][build.bazel.remote.execution.v2.ContentAddressableStorage.BatchUpdateBlobs]
19982017
// requests.
19992018
repeated Compressor.Value supported_batch_update_compressors = 7;
2019+
2020+
// The digest of the
2021+
// [ZstdDictionaryRegistry][build.bazel.remote.execution.v2.ZstdDictionaryRegistry]
2022+
// that contains all the dictionaries supported by the remote cache.
2023+
Digest zstd_dictionary_registry = 8;
20002024
}
20012025

20022026
// Capabilities of the remote execution system.

0 commit comments

Comments
 (0)