Jeff Bowden wrote:
On Linux, file descriptors for disk files are always "ready".
Since twisted is based on select() or poll() I'm guessing you will end up actually blocking on file reads.
I think you can get non-blocking file reads using the new AIO stuff
On some systems, right.
but it's not really a good match for a single process server like twisted.
Hmm. Why do you say this? It's true that AIO will require reactor support (IOCP is essentially such a reactor, except for Windows). I don't see a problem with using AIO in a single process, though, and apparently neither did Pavel when he wrote IOCP.
I don't know about BSD/OSX or Windows.
KQueue supports on-disk files, I suspect. There is no working KQueue reactor, though, so that takes care of BSD/OSX. Windows has IO Completion Ports, which IOCP uses (hence the name ;).