comparison mercurial/help/internals/wireprotocol.txt @ 30761:7283719e2bfd

util: declare wire protocol support of compression engines This patch implements a new compression engine API allowing compression engines to declare support for the wire protocol. Support is declared by returning a compression format string identifier that will be added to payloads to signal the compression type of data that follows and default integer priorities of the engine. Accessor methods have been added to the compression engine manager class to facilitate use. Note that the "none" and "bz2" engines declare wire protocol support but aren't enabled by default due to their priorities being 0. It is essentially free from a coding perspective to support these compression formats, so we do it in case anyone may derive use from it.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 24 Dec 2016 13:51:12 -0700
parents 753b9d43ca81
children 435a3842ca3a
comparison
equal deleted inserted replaced
30760:753b9d43ca81 30761:7283719e2bfd
266 streams. Servers may support this media type on any command. 266 streams. Servers may support this media type on any command.
267 267
268 The value of the capability is a comma-delimited list of strings declaring 268 The value of the capability is a comma-delimited list of strings declaring
269 supported compression formats. The order of the compression formats is in 269 supported compression formats. The order of the compression formats is in
270 server-preferred order, most preferred first. 270 server-preferred order, most preferred first.
271
272 The identifiers used by the official Mercurial distribution are:
273
274 bzip2
275 bzip2
276 none
277 uncompressed / raw data
278 zlib
279 zlib (no gzip header)
280 zstd
281 zstd
271 282
272 This capability was introduced in Mercurial 4.1 (released February 2017). 283 This capability was introduced in Mercurial 4.1 (released February 2017).
273 284
274 getbundle 285 getbundle
275 --------- 286 ---------