]> git.proxmox.com Git - ceph.git/blob - ceph/src/seastar/doc/rpc-compression.md
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / seastar / doc / rpc-compression.md
1 # RPC provided compression infrastructure
2
3 ## Compression algorithm negotiation
4
5 RPC protocol only defines `COMPRESS` feature bit but does not define format of its data.
6 If application supports multiple compression algorithms it may use the data for algorithm
7 negotiation. RPC provides convenience class `multi_algo_compressor_factory` to do it
8 so that each application will not have to re-implement the same logic. The class gets list
9 of supported compression algorithms and send them as comma separated list in `COMPRESS` feature
10 payload. On receiving of the list it matches common algorithm between client and server. In case
11 there is more than one the order of algorithms in clisnt's list is considered to be a tie breaker.
12
13 ### COMPRESS feature data format when multi_algo_compressor_factory is used
14
15 Comma separated string of algorithms names
16