[zeromq-dev] Completion events rather than ready events

Martin Sustrik sustrik at 250bpm.com
Thu Feb 4 10:07:40 CET 2010


> Comparing with AIO and IOCP ZeroMQ is providing a faster send call at 
> the expense of not knowing when the packet hit the wire.  Note that 
> technically with AIO and IOCP you only know when the packet enters the 
> kernel you don't know when it hits the wire, or if the packet gets 
> discarded due to overrun.

One comment: On middleware level, users are not interested in knowing 
when the data hit the wire. What they are interested in instead is when 
the responsibility for the data was taken by the peer. This kind of 
thing requires ACK semantics - something we should take a look at in the 

> <advert>
> In certain architectures such as when all the applications are 
> subscribing to the same low-latency source it still will be preferable 
> to use the underlying transport such as OpenPGM directly as no 
> additional threads are required and no inter-thread communication is 
> necessary.
> </advert>

Absolutely. When performance is paramount, moving down the stack makes 
perfect sense.


More information about the zeromq-dev mailing list