Skip to content

Commit

Permalink
proto: supporting zstd dictionary
Browse files Browse the repository at this point in the history
DO NOT MERGE.

This is mainly served as a conversation starter for future dictionary
compression features.
  • Loading branch information
sluongng committed Oct 12, 2023
1 parent ecc4729 commit b59d154
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions proto/remote_execution.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2000,6 +2000,9 @@ message Compressor {

// Brotli compression.
BROTLI = 3;

// Zstandard compression with external dictionary support.
ZSTD_DICT = 4;
}
}

Expand Down Expand Up @@ -2036,6 +2039,19 @@ message CacheCapabilities {
// [BatchUpdateBlobs][build.bazel.remote.execution.v2.ContentAddressableStorage.BatchUpdateBlobs]
// requests.
repeated Compressor.Value supported_batch_update_compressors = 7;

// BUILDBUDDY EXTENSIONS BELOW

// A digest pointing to a [ZstdDictionaryRegistry][build.bazel.remote.execution.v2.ZstdDictionaryRegistry]
// object in CAS that contains the zstd dictionaries that should be used for
// compressing and decompressing blobs.
Digest zstd_dictionary_registry = 1000;
}

message ZstdDictionaryRegistry {
// Each file's name should be set to either the dictID of the ZSTD dictionary (32 bits unsigned integer),
// or "default" for the default dictionary that client SHOULD use to compress uploaded data.
repeated FileNode dictionaries = 1;
}

// Capabilities of the remote execution system.
Expand Down

0 comments on commit b59d154

Please sign in to comment.