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