[zeromq-dev] On windows uses select() ?

john skaller skaller at users.sourceforge.net
Fri Feb 10 03:11:48 CET 2012


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
skaller at users.sourceforge.net







More information about the zeromq-dev mailing list