This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author gvanrossum
Recipients christian.heimes, exarkun, gvanrossum, sbt
Date 2012-10-09.16:42:58
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1349800979.03.0.94771417834.issue16175@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2012-10-09 16:42:59gvanrossumsetrecipients: + gvanrossum, exarkun, christian.heimes, sbt
2012-10-09 16:42:59gvanrossumsetmessageid: <1349800979.03.0.94771417834.issue16175@psf.upfronthosting.co.za>
2012-10-09 16:42:59gvanrossumlinkissue16175 messages
2012-10-09 16:42:58gvanrossumcreate