comparison mercurial/sshpeer.py @ 25455:dc02a284e034

sshpeer: rename 'size' to 'data' in doublepipe We are about to add 'write' support, the argument will be either an int or a string.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Wed, 20 May 2015 17:40:47 -0500
parents 8dc5ee5b7b09
children 408b7979bf03
comparison
equal deleted inserted replaced
25454:b5a8bc09b0db 25455:dc02a284e034
79 return self._call('read', size) 79 return self._call('read', size)
80 80
81 def readline(self): 81 def readline(self):
82 return self._call('readline') 82 return self._call('readline')
83 83
84 def _call(self, methname, size=None): 84 def _call(self, methname, data=None):
85 """call <methname> on "main", forward output of "side" while blocking 85 """call <methname> on "main", forward output of "side" while blocking
86 """ 86 """
87 if size == 0 or self._main.closed: 87 # data can be '' or 0
88 if (data is not None and not data) or self._main.closed:
88 _forwardoutput(self._ui, self._side) 89 _forwardoutput(self._ui, self._side)
89 return '' 90 return ''
90 while True: 91 while True:
91 mainready, sideready = self._wait() 92 mainready, sideready = self._wait()
92 if sideready: 93 if sideready:
93 _forwardoutput(self._ui, self._side) 94 _forwardoutput(self._ui, self._side)
94 if mainready: 95 if mainready:
95 meth = getattr(self._main, methname) 96 meth = getattr(self._main, methname)
96 if size is None: 97 if data is None:
97 return meth() 98 return meth()
98 else: 99 else:
99 return meth(size) 100 return meth(data)
100 101
101 def close(self): 102 def close(self):
102 return self._main.close() 103 return self._main.close()
103 104
104 class sshpeer(wireproto.wirepeer): 105 class sshpeer(wireproto.wirepeer):