@@ -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. 
19681987message  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