[Twisted-Python] IOCP Reactor (Was: win32 buildbot)

Paul Moore pf_moore at yahoo.co.uk
Sun Mar 14 14:36:10 EST 2004

Itamar Shtull-Trauring <itamar at itamarst.org> writes:

> Fixes to win32event reactor or a finished IOCP reactor so we can
> abandon it are welcome ;)

I was interested to see this, as I've been aware of the limitations of
the standard select reactor on Win32 (no process stuff, for example),
but given the comments in the documentation for the win32event
reactor, I wasn't sure that was the way to go either.

One neat feature in later versions of Win32 (Windows 2000+, I believe)
is a kernel-level thread pool, which handles async I/O very cleanly,
as well as a lot of other stuff, such as waiting on more than 63
kernel events, asynchronous function calls, etc, etc. Looking at the
IOCP reactor, it doesn't seem to use this.

Some questions:

1. Would a reactor based on Win32 thread pools be worth having?
2. Is lack of NT support a problem (Win9x is already disallowed by
   using IO completion ports)?
3. Does anyone want to pick this up (the author of the IOCP reactor,
   or the existing win32event reactor, for example)?
4. If no-one else wants to pick it up, where would I find pointers on
   writing a reactor? Assuming there isn't a useful "what is a reactor
   supposed to do" document (I couldn't find one) what code would be a
   good starting point? [Note: If this is what ends up happening,
   expect completion in something like 2038, given my copious
   quantities of free time, and the likelihood of me managing to stick
   with a substantial programming project :-(]

This signature intentionally left blank

More information about the Twisted-Python mailing list