On 10/02/2012, at 11:12 AM, Brad LaFountain wrote: > I looked into this also. I got it sort of working. Basically the trick is > that IOCP doesn't just let you probe if there is data/connection or anything > waiting. So for each connection you need to have something queued at all > times. I just went looking for the code and it appears i lost it with a HD > crash.
If there are any windows programmers here, I can again point people at working IOCP event management code. This code is interfaced to a different project so can't be used as written but should be indicative. This link: http://felix-lang.org/$/home/skaller/felix/src/demux/win points to IOCP based event management from my project. This does socket I/O: http://felix-lang.org/$/home/skaller/felix/src/demux/win/demux_overlapped.hpp http://felix-lang.org/$/home/skaller/felix/src/demux/win/demux_overlapped.cpp and this is the IOCP based event management: http://felix-lang.org/$/home/skaller/felix/src/demux/win/demux_iocp_demuxer.hpp http://felix-lang.org/$/home/skaller/felix/src/demux/win/demux_iocp_demuxer.cpp There's also code for timer events, and a weird thing called a self-piper, which is used for pipes. You should be able to "click through" any #include files to see them too. I did not write this code. I cannot compile or build this code. -- john skaller [email protected] _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
