[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