[zeromq-dev] full duplex asynch messaging

Martin Sustrik sustrik at 250bpm.com
Mon Mar 15 12:46:35 CET 2010


Arun,

>   Is there a way to achieve two way asynchronous send/receive on 0mq 
> sockets ? I currently use boost asio (proactor) which internally 
> iocp/epolls to achieve this.  zmq_poll does look promising, but is there 
> an easier method ?  Also how is the zmq_poll implemented internally ?

Send/receive IS asynchronous.

Send doesn't block even if the message cannot be sent immediately. 
Instead, it queues the message and delivers it later on.

Incoming messages are received even if recv function is not called. They 
are queued and returned by later call(s) to recv.

However, AFAICS, you've probably had some other question in mind...

As for zmq_poll, it checks whether there are messages in internal queues 
(POLLIN) or whether the queue limits are not yet reached (POLLOUT).

Martin



More information about the zeromq-dev mailing list