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()