Answers inline.

On Jan 10, 2013, at 7:03 AM, shyam valsan <[email protected]> wrote:

> I have few basic questions on ZeroMQ functionality
> 
>  
> -          What is the maximum buffer size for zeroMQ receive socket 
> (ZMQ_SUB). Wanted to know how many messages can be queued up on the receive 
> socket.
> 

You can set your SNDHWM and RCVHWM (high water marks) to be effectively 
infinite, so then you are only limited by system memory.


> -          What is the max length of messages that can be send on the socket 
> using zmq_send(). If the length exceeds the limit, will it be handled 
> internally by zeroMQ as two different message or will the message get 
> truncated?
> 

You can send a message of length 2^64. Zeromq does not do any internal 
splitting of messages; this is your responsibility.


>                 After I have opened a socket for listening [ i.e after 
> successful calls to zmq_connect and zmq_setsockopt() with ZMQ_SUBSCRIBE 
> option],all messages  being send on that port (where subscribe socket is 
> listening) will be received by the subscribe socket and queued up in its 
> receive queue. Once zmq_receive() call is made all these messages will be 
> received by application. Is understanding correct.
> 

No, this isn't necessarily correct. Think of a PUB socket as a "radio 
broadcast" that is sending packets as fast as it can. If there are no listeners 
(subscribers) then all packets are dropped. If there is a subscriber and it is 
slow enough that its buffers overflow (high water mark again) then packets will 
also drop.

I highly recommend reading the guide (zguide.zeromq.org). It explains all of 
this in detail. Also, look at the man pages and the FAQ.

cr
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to