comparison mercurial/wireprotoserver.py @ 35988:04231e893a12

wireprotoserver: rename abstractserverproto and improve docstring The docstring isn't completely accurate for the current state of the world. But it does describe the direction future patches will be taking things. Differential Revision: https://phab.mercurial-scm.org/D2065
author Gregory Szorc <gregory.szorc@gmail.com>
date Thu, 01 Feb 2018 08:54:48 -0800
parents 6010fe1da619
children 5767664d39a5
comparison
equal deleted inserted replaced
35987:6010fe1da619 35988:04231e893a12
36 SSHV1 = 'ssh-v1' 36 SSHV1 = 'ssh-v1'
37 # This is advertised over the wire. Incremental the counter at the end 37 # This is advertised over the wire. Incremental the counter at the end
38 # to reflect BC breakages. 38 # to reflect BC breakages.
39 SSHV2 = 'exp-ssh-v2-0001' 39 SSHV2 = 'exp-ssh-v2-0001'
40 40
41 class abstractserverproto(object): 41 class baseprotocolhandler(object):
42 """abstract class that summarizes the protocol API 42 """Abstract base class for wire protocol handlers.
43 43
44 Used as reference and documentation. 44 A wire protocol handler serves as an interface between protocol command
45 handlers and the wire protocol transport layer. Protocol handlers provide
46 methods to read command arguments, redirect stdio for the duration of
47 the request, handle response types, etc.
45 """ 48 """
46 49
47 __metaclass__ = abc.ABCMeta 50 __metaclass__ = abc.ABCMeta
48 51
49 @abc.abstractproperty 52 @abc.abstractproperty
102 chunks.append(pycompat.bytesurl(v)) 105 chunks.append(pycompat.bytesurl(v))
103 i += 1 106 i += 1
104 107
105 return ''.join(chunks) 108 return ''.join(chunks)
106 109
107 class webproto(abstractserverproto): 110 class webproto(baseprotocolhandler):
108 def __init__(self, req, ui): 111 def __init__(self, req, ui):
109 self._req = req 112 self._req = req
110 self._ui = ui 113 self._ui = ui
111 114
112 @property 115 @property
331 # "unbundle." That assumption is not always valid. 334 # "unbundle." That assumption is not always valid.
332 req.respond(e, HGTYPE, body='0\n%s\n' % e) 335 req.respond(e, HGTYPE, body='0\n%s\n' % e)
333 336
334 return '' 337 return ''
335 338
336 class sshserver(abstractserverproto): 339 class sshserver(baseprotocolhandler):
337 def __init__(self, ui, repo): 340 def __init__(self, ui, repo):
338 self._ui = ui 341 self._ui = ui
339 self._repo = repo 342 self._repo = repo
340 self._fin = ui.fin 343 self._fin = ui.fin
341 self._fout = ui.fout 344 self._fout = ui.fout