Mercurial > public > mercurial-scm > hg-stable
diff mercurial/wireproto.py @ 37782:99accae4cc59
wireproto: reimplement dispatch() for version 2 server
The code is minimal. I'm trying to create a cleaner break between
version 1 and version 2 server code.
Differential Revision: https://phab.mercurial-scm.org/D3397
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 16 Apr 2018 22:00:52 -0700 |
parents | 352932a11905 |
children | 9d818539abfa |
line wrap: on
line diff
--- a/mercurial/wireproto.py Mon Apr 16 21:52:33 2018 -0700 +++ b/mercurial/wireproto.py Mon Apr 16 22:00:52 2018 -0700 @@ -69,20 +69,10 @@ def dispatch(repo, proto, command): repo = getdispatchrepo(repo, proto, command) - transportversion = wireprototypes.TRANSPORTS[proto.name]['version'] - commandtable = commandsv2 if transportversion == 2 else commands - func, spec = commandtable[command] - + func, spec = commands[command] args = proto.getargs(spec) - # Version 1 protocols define arguments as a list. Version 2 uses a dict. - if isinstance(args, list): - return func(repo, proto, *args) - elif isinstance(args, dict): - return func(repo, proto, **args) - else: - raise error.ProgrammingError('unexpected type returned from ' - 'proto.getargs(): %s' % type(args)) + return func(repo, proto, *args) def options(cmd, keys, others): opts = {}