Mercurial > public > mercurial-scm > hg
diff mercurial/sshpeer.py @ 52520:1554bd50a1af
interfaces: move peer `capabilities()` to the `ipeercapabilities` interface
I'm not sure why this was on the `ipeercommands` interface. It appears to be
because these interfaces started out as `_basewirecommands` to hold wire
commands, back in 558f5b2ee10e. The capabilities interface wasn't split out
until 98861a2298b5, when it pulled the capability related methods off of the
`ipeerbase` interface. Perhaps it was an oversight to not look at the commands
interface because, while this is a wire command, both `sshpeer` and `httppeer`
now perform a handshake while instantiating the peer object, and cache a fixed
list of capabilities in that object. Likewise, `localpeer` is given a fixed set
of capabilities when instantiated. Back in 558f5b2ee10e, `httppeer` looks like
it issued a wire command when this method was called, but `sshpeer` obtained and
cached the capabilities when instantiated, and this method always returned a
fixed value.
There's a perfectly good interface with other capability related methods, and
having it here makes it easier to implement the base `peer` mixin class.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 16 Dec 2024 02:41:24 -0500 |
parents | f4733654f144 |
children | b52f2b365eff |
line wrap: on
line diff
--- a/mercurial/sshpeer.py Mon Dec 16 02:10:46 2024 -0500 +++ b/mercurial/sshpeer.py Mon Dec 16 02:41:24 2024 -0500 @@ -439,12 +439,12 @@ # End of ipeerconnection interface. - # Begin of ipeercommands interface. + # Begin of ipeercapabilities interface. def capabilities(self): return self._caps - # End of ipeercommands interface. + # End of ipeercapabilities interface. def _readerr(self): _forwardoutput(self.ui, self._pipee)