[Python-Dev] Twisted Isn't Specific (was Re: Trial balloon: microthreads library in stdlib)

Thomas Heller theller at ctypes.org
Wed Feb 14 21:52:29 CET 2007


glyph at divmod.com schrieb:
> On 02:20 am, greg.ewing at canterbury.ac.nz wrote:
> 
>> If Twisted is designed so that it absolutely *has* to use its own
>> special event mechanism, and everything else needs to be modified
>> to suit its requirements, then it's part of the problem, not part
>> of the solution.
> 
> I've often heard this complaint, usually of the form "that's
> twisted-specific".  The thing is, Twisted isn't specific.  Its event
> mechanism isn't "special".  In fact it's hard to imagine how it might
> be made less "special" than it currently is.
> 
> Whatever your event dispatch mechanism, *some* code has to be
> responsible for calling the OS API of select(),
> WaitForMultipleEvents(), g_main_loop_run(), or whatever.  Twisted
> actually imposes very few requirements for code to participate in
> this, and was designed from day one specifically to be a generalized
> mainloop mechanism which would not limit you to one underlying
> multiplexing implementation, event-dispatch mechanism, or operating
> system if you used its API.

When I last looked at twisted (that is several years ago), there were
several reactors - win32reactor, wxreactor, maybe even more.  And they
didn't even work too well.  The problems I remember were that the win32reactor
was limited to a only handful of handles, the wxreactor didn't process
events when a wx modal dialog boy was displayed, and so on.  Has this changed?

Thanks,
Thomas



More information about the Python-Dev mailing list