[ZODB-Dev] Re: ZEO signal feature

Toby Dickenson tdickenson@geminidataloggers.com
Fri, 4 Oct 2002 12:47:58 +0100


> > I'm trying to clear out the backlog of ZEO todo items in hopes of
> > getting another beta release out soon.  I'd like to accommodate the
> > use cases that lead to the signal code, but I wonder if we could
> > consider some other alternatives.

A while ago I gave these reasons below for thinking that the 'signal' met=
hod=20
was a better way of handling storage extension methods, compared to addin=
g=20
'real' methods to storage object using a __getattr__ hook.

Having played with implementations of both approaches I have changed my=20
opinion. The problems I anticipated with real methods are not so bad, and=
 it=20
certainly is nicer to work with.

Jeremy, any chance of getting toby-extension-method-branch in before the =
next=20
beta?


> 1. It was easy to implement in ZEO (and any future Storage wrapper laye=
rs,
> not just those that provide network transparency)
>
> 2. Suppose ZEO gains an extension method in the future. It will be easy=
 to
> understand how it should consume some extension methods itself, and pas=
s
> others on.
>
> 3. It clearly draws the line between the official Storage API and exten=
sion
> methods.
>
> 4. There is no need for a storage to declare the names of all its exten=
sion
> methods in advance.
>
> 5. It closely parallels how COM deals with the same problem using the
> IDispatch interface. The solution works very well in COM. (at one time =
I
> considered naming this method 'IDispatchInvoke' instead of 'signal'. Th=
at
> name is helpful to anyone familiar with COM, but useless to anyone who
> isnt. Are there many COM people on this list?)