zodb-dev@zope.org
[Top] [All Lists]

Re: [ZODB-Dev] ZEO ClientStorage's use of the asyncore main loop (was [F

Subject: Re: [ZODB-Dev] ZEO ClientStorage's use of the asyncore main loop was [Fwd: Re: [Zope3-dev] Twisted Publisher and Zope 2]
From: Shane Hathaway
Date: Fri, 09 Dec 2005 10:25:10 -0700
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
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@xxxxxxxx
http://mail.zope.org/mailman/listinfo/zodb-dev

<Prev in Thread] Current Thread [Next in Thread>