On Jan 11, 2008, at 3:28 PM, Thomas Lotze wrote:

The ZEO ClientStorage.getExtensionMethods method is not specified by any interface currently, but probably it should be, and probably IServeable is
a good place for it. Should we add the method to the interface?

Maybe. I bothered not to when I was working on the interfaces a few months ago. See the thread starting:


current way of finding out whether a storage has that method, i.e. trying
to use it and catch the AttributeError, might then be changed into an
interface lookup.

I know. At the time I got the interfaces in shape, I was thinking of removing this feature. I didn't like it at all and am still a bit ambivalent about it. I decided to compromise and leave it in the implementation but out of the interfaces.

When working on packing recently, I realized I was frustrated because I would have liked to have the option to change the signature. I realized that it would have made more sense to have pack be not in the storage API and handled as an extension method. After all, some storages, in theory, don't even need packing. So I guess I'm much more sympathetic to this idea than I was. :)

If we do keep this, I might want to be able to expose it a different way. In particular, I'd maybe like these methods to be more ZEO aware.

For now, I think I'd prefer not to add this to the interface.


Jim Fulton
Zope Corporation

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to