Skip to content
Snippets Groups Projects
Commit 29759c46 authored by Gregory Szorc's avatar Gregory Szorc
Browse files

wireprotoserver: make name part of protocol interface

This is a required part of the interface. Abstract properties must
be defined at type creation time. So we make name a @property.

Differential Revision: https://phab.mercurial-scm.org/D1991
parent 68dc621f
No related branches found
No related tags found
No related merge requests found
......@@ -40,6 +40,13 @@
__metaclass__ = abc.ABCMeta
@abc.abstractproperty
def name(self):
"""The name of the protocol implementation.
Used for uniquely identifying the transport type.
"""
@abc.abstractmethod
def getargs(self, args):
"""return the value for arguments in <args>
......@@ -95,7 +102,10 @@
def __init__(self, req, ui):
self._req = req
self._ui = ui
self.name = 'http'
@property
def name(self):
return 'http'
def getargs(self, args):
knownargs = self._args()
......@@ -255,7 +265,6 @@
self._repo = repo
self._fin = ui.fin
self._fout = ui.fout
self.name = 'ssh'
hook.redirect(True)
ui.fout = repo.ui.fout = ui.ferr
......@@ -264,6 +273,10 @@
util.setbinary(self._fin)
util.setbinary(self._fout)
@property
def name(self):
return 'ssh'
def getargs(self, args):
data = {}
keys = args.split()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment