[zeromq-dev] Windows and IOCP

Jarred Ward jarred at webriots.com
Sat May 14 20:19:19 CEST 2011


I've been hacking on it a bit lately. There's a fundamental difference
between overlapped I/O with IOCP and the typical Unix file descriptor
polling; IOCP events fire on operation completion and not socket readiness.
We'd issue overlapped send/recvs (aka asynchronous) and poll for
"completions" in the event loop. The whole socket ready paradigm doesn't
matter in this case, and the ZMQ codebase is built on the assumption of
socket readiness. Throwing a completely different paradigm into the mix will
require a refactor.

There is a new library that the node.js guys are working on called libuv
that has a nice network abstraction layer on top of the high performance I/O
multiplexers https://github.com/joyent/libuv. I'm trying to get some
inspiration from them, or perhaps give their library a shot.

We basically need to rework the ZMQ I/O and polling infrastructure to
support asynchronous operations.

On Wed, Apr 13, 2011 at 3:22 AM, Martin Sustrik <sustrik at 250bpm.com> wrote:

> Hi Tore,
>
> > Are there any plans to use IOCP for tcp connections on windows?
>
> Yes. It was discussed many times (search the mailing list archive for
> IOCP) and couple people even gave implementation a try. But, somehow, it
> haven't materialised so far.
>
> Martin
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110514/11a0407e/attachment.htm>


More information about the zeromq-dev mailing list