[ZODB-Dev] [ZEO] getExtensionMethods into IServeable?

Jim Fulton jim at zope.com
Fri Jan 11 18:46:43 EST 2008


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




More information about the ZODB-Dev mailing list