[ZODB-Dev] ZEO ClientStorage's use of the asyncore main loop
	(was [Fwd: Re: [Zope3-dev] Twisted Publisher and Zope 2])
    Shane Hathaway 
    shane at hathawaymix.org
       
    Fri Dec  9 12:25:10 EST 2005
    
    
  
Jim Fulton wrote:
> Tim and I have discussed this for some time.  We think an
> asynchronous I/O approach is still appropriate, to handle
> asynchronous messages from servers to clients, but we need
> to get away from expecting a server to provide the asyncore
> main loop needed by ZEO. Rather, ZEO should provide its own
> main loop running in a separate thread. (Or, possibly, each
> client storage should have its own thread.) Among other things,
> this would allow us to get rid of the horribly complex dual-mode
> code we have now.
I think that's a good strategy.
> (Note that we've had lots of frustration with asyncore.  It is
>    tempting to get rid of that at the same time.  However, we still
>    need an asynchronous I/O framework.  This would probably requite
>    a switch to Twisted.  This might be worthwhile, but would almost
>    certainly entail a lot of risk.  I'm not at all sure the benefit
>    is worth it unless there were some able volunteers who wanted to
>    work on it.)
Last I checked, Twisted could not support a private event loop.  Twisted 
assumes there is only one event loop for all threads.  I'd like to know 
if this has changed.  The asyncore module can support a private event 
loop, although it's ugly--you have to pass the 'map' argument all over 
the place.
Shane
    
    
More information about the ZODB-Dev
mailing list