Mercurial > public > mercurial-scm > hg
comparison mercurial/sshpeer.py @ 36366:a34d5ef53c2e
sshpeer: move logic for sending a request into a new function
The **args being used to pass arbitrary command arguments is limiting
because it makes it harder to control behavior of the function.
We factor most of _callstream() into a new function that doesn't
use **args.
Differential Revision: https://phab.mercurial-scm.org/D2379
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 21 Feb 2018 08:33:50 -0800 |
parents | 7f8f74531b0b |
children | 043e77f3be09 |
comparison
equal
deleted
inserted
replaced
36363:7f8f74531b0b | 36366:a34d5ef53c2e |
---|---|
408 chunk = rsp.read(toread) | 408 chunk = rsp.read(toread) |
409 available -= toread | 409 available -= toread |
410 work += chunk | 410 work += chunk |
411 yield wireproto.unescapearg(work) | 411 yield wireproto.unescapearg(work) |
412 | 412 |
413 def _callstream(self, cmd, **args): | 413 def _sendrequest(self, cmd, args): |
414 args = pycompat.byteskwargs(args) | |
415 if (self.ui.debugflag | 414 if (self.ui.debugflag |
416 and self.ui.configbool('devel', 'debug.peer-request')): | 415 and self.ui.configbool('devel', 'debug.peer-request')): |
417 dbg = self.ui.debug | 416 dbg = self.ui.debug |
418 line = 'devel-peer-request: %s\n' | 417 line = 'devel-peer-request: %s\n' |
419 dbg(line % cmd) | 418 dbg(line % cmd) |
445 self._pipeo.write(v) | 444 self._pipeo.write(v) |
446 self._pipeo.flush() | 445 self._pipeo.flush() |
447 | 446 |
448 return self._pipei | 447 return self._pipei |
449 | 448 |
449 def _callstream(self, cmd, **args): | |
450 args = pycompat.byteskwargs(args) | |
451 return self._sendrequest(cmd, args) | |
452 | |
450 def _callcompressable(self, cmd, **args): | 453 def _callcompressable(self, cmd, **args): |
451 return self._callstream(cmd, **args) | 454 args = pycompat.byteskwargs(args) |
455 return self._sendrequest(cmd, args) | |
452 | 456 |
453 def _call(self, cmd, **args): | 457 def _call(self, cmd, **args): |
454 self._callstream(cmd, **args) | 458 args = pycompat.byteskwargs(args) |
459 self._sendrequest(cmd, args) | |
455 return self._readframed() | 460 return self._readframed() |
456 | 461 |
457 def _callpush(self, cmd, fp, **args): | 462 def _callpush(self, cmd, fp, **args): |
458 r = self._call(cmd, **args) | 463 r = self._call(cmd, **args) |
459 if r: | 464 if r: |