Small fixes to documentation

- REQ and REP sockets don't have HWM issues
- ZMQ_DONTWAIT applies to DEALER and PUSH only
This commit is contained in:
Pieter Hintjens 2013-06-07 13:28:47 +02:00
parent 210fcbbbeb
commit 656ff5b208
4 changed files with 16 additions and 25 deletions

View File

@ -23,9 +23,10 @@ argument to be sent to the socket referenced by the 'socket' argument. The
'flags' argument is a combination of the flags defined below: 'flags' argument is a combination of the flags defined below:
*ZMQ_DONTWAIT*:: *ZMQ_DONTWAIT*::
Specifies that the operation should be performed in non-blocking mode. If the For socket types (DEALER, PUSH) that block when there are no available peers
message cannot be queued on the 'socket', the _zmq_msg_send()_ function shall (or all peers have full high-water mark), specifies that the operation should
fail with 'errno' set to EAGAIN. be performed in non-blocking mode. If the message cannot be queued on the
'socket', the _zmq_msg_send()_ function shall fail with 'errno' set to EAGAIN.
*ZMQ_SNDMORE*:: *ZMQ_SNDMORE*::
Specifies that the message being sent is a multi-part message, and that further Specifies that the message being sent is a multi-part message, and that further

View File

@ -19,9 +19,10 @@ referenced by the 'buf' and 'len' arguments. The 'flags' argument is
a combination of the flags defined below: a combination of the flags defined below:
*ZMQ_DONTWAIT*:: *ZMQ_DONTWAIT*::
Specifies that the operation should be performed in non-blocking mode. If the For socket types (DEALER, PUSH) that block when there are no available peers
message cannot be queued on the 'socket', the _zmq_send()_ function shall (or all peers have full high-water mark), specifies that the operation should
fail with 'errno' set to EAGAIN. be performed in non-blocking mode. If the message cannot be queued on the
'socket', the _zmq_send()_ function shall fail with 'errno' set to EAGAIN.
*ZMQ_SNDMORE*:: *ZMQ_SNDMORE*::
Specifies that the message being sent is a multi-part message, and that further Specifies that the message being sent is a multi-part message, and that further

View File

@ -19,9 +19,10 @@ argument to be sent to the socket referenced by the 'socket' argument. The
'flags' argument is a combination of the flags defined below: 'flags' argument is a combination of the flags defined below:
*ZMQ_DONTWAIT*:: *ZMQ_DONTWAIT*::
Specifies that the operation should be performed in non-blocking mode. If the For socket types (DEALER, PUSH) that block when there are no available peers
message cannot be queued on the 'socket', the _zmq_sendmsg()_ function shall (or all peers have full high-water mark), specifies that the operation should
fail with 'errno' set to EAGAIN. be performed in non-blocking mode. If the message cannot be queued on the
'socket', the _zmq_sendmsg()_ function shall fail with 'errno' set to EAGAIN.
*ZMQ_SNDMORE*:: *ZMQ_SNDMORE*::
Specifies that the message being sent is a multi-part message, and that further Specifies that the message being sent is a multi-part message, and that further

View File

@ -71,11 +71,9 @@ sequence of _zmq_send(request)_ and subsequent _zmq_recv(reply)_ calls. Each
request sent is round-robined among all _services_, and each reply received is request sent is round-robined among all _services_, and each reply received is
matched with the last issued request. matched with the last issued request.
When a 'ZMQ_REQ' socket enters the 'mute' state due to having reached the If no services are available, then any send operation on the socket shall
high water mark for all _services_, or if there are no _services_ at all, then block until at least one _service_ becomes available. The REQ socket shall
any linkzmq:zmq_send[3] operations on the socket shall block until the not discard messages.
'mute' state ends or at least one _service_ becomes available for sending;
messages are not discarded.
[horizontal] [horizontal]
.Summary of ZMQ_REQ characteristics .Summary of ZMQ_REQ characteristics
@ -94,11 +92,7 @@ send replies to a _client_. This socket type allows only an alternating
sequence of _zmq_recv(request)_ and subsequent _zmq_send(reply)_ calls. Each sequence of _zmq_recv(request)_ and subsequent _zmq_send(reply)_ calls. Each
request received is fair-queued from among all _clients_, and each reply sent request received is fair-queued from among all _clients_, and each reply sent
is routed to the _client_ that issued the last request. If the original is routed to the _client_ that issued the last request. If the original
requester doesn't exist any more the reply is silently discarded. requester does not exist any more the reply is silently discarded.
When a 'ZMQ_REP' socket enters the 'mute' state due to having reached the
high water mark for a _client_, then any replies sent to the _client_ in
question shall be dropped until the mute state ends.
[horizontal] [horizontal]
.Summary of ZMQ_REP characteristics .Summary of ZMQ_REP characteristics
@ -107,7 +101,6 @@ Direction:: Bidirectional
Send/receive pattern:: Receive, Send, Receive, Send, ... Send/receive pattern:: Receive, Send, Receive, Send, ...
Incoming routing strategy:: Fair-queued Incoming routing strategy:: Fair-queued
Outgoing routing strategy:: Last peer Outgoing routing strategy:: Last peer
Action in mute state:: Drop
ZMQ_DEALER ZMQ_DEALER
@ -126,8 +119,6 @@ When a 'ZMQ_DEALER' socket is connected to a 'ZMQ_REP' socket each message sent
must consist of an empty message part, the _delimiter_, followed by one or more must consist of an empty message part, the _delimiter_, followed by one or more
_body parts_. _body parts_.
Deprecated alias: 'ZMQ_XREQ'.
[horizontal] [horizontal]
.Summary of ZMQ_DEALER characteristics .Summary of ZMQ_DEALER characteristics
Compatible peer sockets:: 'ZMQ_ROUTER', 'ZMQ_REP', 'ZMQ_DEALER' Compatible peer sockets:: 'ZMQ_ROUTER', 'ZMQ_REP', 'ZMQ_DEALER'
@ -162,8 +153,6 @@ as seen by the application becomes: one or more _identity_ parts, _delimiter_
part, one or more _body parts_. When sending replies to a 'ZMQ_REQ' socket the part, one or more _body parts_. When sending replies to a 'ZMQ_REQ' socket the
application must include the _delimiter_ part. application must include the _delimiter_ part.
Deprecated alias: 'ZMQ_XREP'.
[horizontal] [horizontal]
.Summary of ZMQ_ROUTER characteristics .Summary of ZMQ_ROUTER characteristics
Compatible peer sockets:: 'ZMQ_DEALER', 'ZMQ_REQ', 'ZMQ_ROUTER' Compatible peer sockets:: 'ZMQ_DEALER', 'ZMQ_REQ', 'ZMQ_ROUTER'
@ -216,7 +205,6 @@ Direction:: Unidirectional
Send/receive pattern:: Receive only Send/receive pattern:: Receive only
Incoming routing strategy:: Fair-queued Incoming routing strategy:: Fair-queued
Outgoing routing strategy:: N/A Outgoing routing strategy:: N/A
Action in mute state:: Drop
ZMQ_XPUB ZMQ_XPUB