[issue16175] Add I/O Completion Ports wrapper

Guido van Rossum report at bugs.python.org
Tue Oct 9 18:42:59 CEST 2012


Guido van Rossum added the comment:

Tough choice.  I'm not in favor of using either ctypes or Cython for this purpose -- ctypes because it's brittle, and Cython because it is a huge complicated system of its own that I would rather not depend on.  Cython already depends on CPython, so CPython depending on Cython would essentially marry the two systems.

How hard could it be to write a C++ extension wrapping IOCP?  From reading the docs there are only a handful API methods (of which the main one stands out as a nadir of API design -- it's like the designers were told they could only add one function... :-).

However a bigger problem probably is that it only makes sense if you also wrap the rest of the handle-based I/O functionality on Windows.  The docs talk about "overlapping" I/O which I presume is a form of async I/O.  Most likely we'll have to look at Mark Hammond's venerable win32 package for that.  Maybe it makes most sense to have IOCP integrated there?  (For all I know it's already supported...)

The main think I want to be sure of is to design the abstract I/O loop (aka reactor) general enough that it will be easy to hook in IOCP-based event-generating and -handling components.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue16175>
_______________________________________


More information about the Python-bugs-list mailing list