Mercurial > public > mercurial-scm > hg
comparison mercurial/sshpeer.py @ 36363:7f8f74531b0b
sshpeer: rename _recv and _send to _readframed and _writeframed
Because it is reading and writing a chunk of data with a well-defined
size. "recv" and "send" make it sound like things are a direct proxy to
the underlying pipe, which they aren't.
Differential Revision: https://phab.mercurial-scm.org/D2378
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 19 Feb 2018 15:57:28 -0800 |
parents | 7218e93ade47 |
children | a34d5ef53c2e |
comparison
equal
deleted
inserted
replaced
36362:01e29e885600 | 36363:7f8f74531b0b |
---|---|
450 def _callcompressable(self, cmd, **args): | 450 def _callcompressable(self, cmd, **args): |
451 return self._callstream(cmd, **args) | 451 return self._callstream(cmd, **args) |
452 | 452 |
453 def _call(self, cmd, **args): | 453 def _call(self, cmd, **args): |
454 self._callstream(cmd, **args) | 454 self._callstream(cmd, **args) |
455 return self._recv() | 455 return self._readframed() |
456 | 456 |
457 def _callpush(self, cmd, fp, **args): | 457 def _callpush(self, cmd, fp, **args): |
458 r = self._call(cmd, **args) | 458 r = self._call(cmd, **args) |
459 if r: | 459 if r: |
460 return '', r | 460 return '', r |
461 for d in iter(lambda: fp.read(4096), ''): | 461 for d in iter(lambda: fp.read(4096), ''): |
462 self._send(d) | 462 self._writeframed(d) |
463 self._send("", flush=True) | 463 self._writeframed("", flush=True) |
464 r = self._recv() | 464 r = self._readframed() |
465 if r: | 465 if r: |
466 return '', r | 466 return '', r |
467 return self._recv(), '' | 467 return self._readframed(), '' |
468 | 468 |
469 def _calltwowaystream(self, cmd, fp, **args): | 469 def _calltwowaystream(self, cmd, fp, **args): |
470 r = self._call(cmd, **args) | 470 r = self._call(cmd, **args) |
471 if r: | 471 if r: |
472 # XXX needs to be made better | 472 # XXX needs to be made better |
473 raise error.Abort(_('unexpected remote reply: %s') % r) | 473 raise error.Abort(_('unexpected remote reply: %s') % r) |
474 for d in iter(lambda: fp.read(4096), ''): | 474 for d in iter(lambda: fp.read(4096), ''): |
475 self._send(d) | 475 self._writeframed(d) |
476 self._send("", flush=True) | 476 self._writeframed("", flush=True) |
477 return self._pipei | 477 return self._pipei |
478 | 478 |
479 def _getamount(self): | 479 def _getamount(self): |
480 l = self._pipei.readline() | 480 l = self._pipei.readline() |
481 if l == '\n': | 481 if l == '\n': |
486 try: | 486 try: |
487 return int(l) | 487 return int(l) |
488 except ValueError: | 488 except ValueError: |
489 self._abort(error.ResponseError(_("unexpected response:"), l)) | 489 self._abort(error.ResponseError(_("unexpected response:"), l)) |
490 | 490 |
491 def _recv(self): | 491 def _readframed(self): |
492 return self._pipei.read(self._getamount()) | 492 return self._pipei.read(self._getamount()) |
493 | 493 |
494 def _send(self, data, flush=False): | 494 def _writeframed(self, data, flush=False): |
495 self._pipeo.write("%d\n" % len(data)) | 495 self._pipeo.write("%d\n" % len(data)) |
496 if data: | 496 if data: |
497 self._pipeo.write(data) | 497 self._pipeo.write(data) |
498 if flush: | 498 if flush: |
499 self._pipeo.flush() | 499 self._pipeo.flush() |