Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/wireprotoserver.py @ 42041:3e47d1ec9da5
util: extract compression code in `mercurial.utils.compression`
The code seems large enough to be worth extracting. This is similar to what was
done for various module in `mercurial/utils/`.
Since None of the compression logic takes a `ui` objet, issuing deprecation
warning is tricky. Luckly the logic does not seems to have many external users.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 27 Mar 2019 16:45:14 +0100 |
parents | cf8677cd7286 |
children | 2c4f656c8e9f |
comparison
equal
deleted
inserted
replaced
42040:02fa567f8a3c | 42041:3e47d1ec9da5 |
---|---|
21 wireprotov1server, | 21 wireprotov1server, |
22 wireprotov2server, | 22 wireprotov2server, |
23 ) | 23 ) |
24 from .utils import ( | 24 from .utils import ( |
25 cborutil, | 25 cborutil, |
26 compression, | |
26 interfaceutil, | 27 interfaceutil, |
27 ) | 28 ) |
28 | 29 |
29 stringio = util.stringio | 30 stringio = util.stringio |
30 | 31 |
142 # FUTURE advertise 0.2rx once support is implemented | 143 # FUTURE advertise 0.2rx once support is implemented |
143 # FUTURE advertise minrx and mintx after consulting config option | 144 # FUTURE advertise minrx and mintx after consulting config option |
144 caps.append('httpmediatype=0.1rx,0.1tx,0.2tx') | 145 caps.append('httpmediatype=0.1rx,0.1tx,0.2tx') |
145 | 146 |
146 compengines = wireprototypes.supportedcompengines(repo.ui, | 147 compengines = wireprototypes.supportedcompengines(repo.ui, |
147 util.SERVERROLE) | 148 compression.SERVERROLE) |
148 if compengines: | 149 if compengines: |
149 comptypes = ','.join(urlreq.quote(e.wireprotosupport().name) | 150 comptypes = ','.join(urlreq.quote(e.wireprotosupport().name) |
150 for e in compengines) | 151 for e in compengines) |
151 caps.append('compression=%s' % comptypes) | 152 caps.append('compression=%s' % comptypes) |
152 | 153 |
318 # on the request parameters. | 319 # on the request parameters. |
319 | 320 |
320 if '0.2' in proto.getprotocaps(): | 321 if '0.2' in proto.getprotocaps(): |
321 # All clients are expected to support uncompressed data. | 322 # All clients are expected to support uncompressed data. |
322 if prefer_uncompressed: | 323 if prefer_uncompressed: |
323 return HGTYPE2, util._noopengine(), {} | 324 return HGTYPE2, compression._noopengine(), {} |
324 | 325 |
325 # Now find an agreed upon compression format. | 326 # Now find an agreed upon compression format. |
326 compformats = wireprotov1server.clientcompressionsupport(proto) | 327 compformats = wireprotov1server.clientcompressionsupport(proto) |
327 for engine in wireprototypes.supportedcompengines(ui, util.SERVERROLE): | 328 for engine in wireprototypes.supportedcompengines(ui, |
329 compression.SERVERROLE): | |
328 if engine.wireprotosupport().name in compformats: | 330 if engine.wireprotosupport().name in compformats: |
329 opts = {} | 331 opts = {} |
330 level = ui.configint('server', '%slevel' % engine.name()) | 332 level = ui.configint('server', '%slevel' % engine.name()) |
331 if level is not None: | 333 if level is not None: |
332 opts['level'] = level | 334 opts['level'] = level |