comparison mercurial/localrepo.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 e123c8a26a70
children b52f2b365eff
comparison
equal deleted inserted replaced
52519:5cf81d8d7de1 52520:1554bd50a1af
337 def close(self): 337 def close(self):
338 self._repo.close() 338 self._repo.close()
339 339
340 # End of _basepeer interface. 340 # End of _basepeer interface.
341 341
342 # Begin of ipeercapabilities interface.
343
344 def capabilities(self):
345 return self._caps
346
347 # End of ipeercapabilities interface.
348
342 # Begin of _basewirecommands interface. 349 # Begin of _basewirecommands interface.
343 350
344 def branchmap(self): 351 def branchmap(self):
345 return self._repo.branchmap() 352 return self._repo.branchmap()
346
347 def capabilities(self):
348 return self._caps
349 353
350 def get_cached_bundle_inline(self, path): 354 def get_cached_bundle_inline(self, path):
351 # not needed with local peer 355 # not needed with local peer
352 raise NotImplementedError 356 raise NotImplementedError
353 357