[zeromq-dev] Windows and IOCP

Steven McCoy steven.mccoy at miru.hk
Sun May 15 05:19:50 CEST 2011


On 14 May 2011 18:58, Martin Sustrik <sustrik at 250bpm.com> wrote:

> Hi Jarred,
>
> > 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.
>
> The obvious question is: How can you limit amount of data queued for
> sending? If you are sending faster than network can transfer, is IOCP
> going to ultimately run out of memory?


If you're doing it right, it is all zero copy so all the buffers should be
in ZeroMQ or the application.

-- 
Steve-o
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110514/a9457e89/attachment.htm>


More information about the zeromq-dev mailing list