This is an archive of the discontinued Mercurial Phabricator instance.

repository: port peer interfaces to zope.interface
ClosedPublic

Authored by indygreg on Apr 3 2018, 10:00 PM.

Details

Summary

zope.interface is superior. Let's switch to it.

Unlike abc, which defines interfaces through a base class,
zope.interface uses different types for interfaces and for
implementations. So, we had to invent some new types to hold the
interfaces in order to separate the interface from its default
implementation.

The names here could probably be better. I've been wanting to
overhaul the peer interface for a while. And wire protocol version
2 will force that work. So anticipate a refactoring of these
interfaces in later commits.

With this commit, we no longer test abc interfaces in
test-check-interfaces.py, so code for that has been removed.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

indygreg created this revision.Apr 3 2018, 10:00 PM
This revision was automatically updated to reflect the committed changes.