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:
http://mail.zope.org/pipermail/zodb-dev/2006-May/010084.html
The
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
--
Jim Fulton
Zope Corporation
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/
ZODB-Dev mailing list - ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev