mercurial/wireprotoserver.py
changeset 42041 3e47d1ec9da5
parent 41285 cf8677cd7286
child 42814 2c4f656c8e9f
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