From 5ba1cb20fe6f6699cef1cc726718e760cd4c9af1 Mon Sep 17 00:00:00 2001
From: Martin Lucina A socket of type ZMQ_XREQ is an advanced pattern used for extending
+request/reply sockets. Each message sent is load-balanced among all connected
+peers, and each message received is fair-queued from all connected peers. When a ZMQ_XREQ socket enters an exceptional state due to having reached the
+high water mark for all peers, or if there are no peers at all, then any
+zmq_send(3) operations on the socket shall block until the exceptional
+state ends or at least one peer becomes available for sending; messages are not
+discarded. When a ZMQ_XREQ 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
+body parts.
+ZMQ_XREP, ZMQ_REP
+
+Bidirectional
+
+Unrestricted
+
+Load-balanced
+
+Fair-queued
+
+Block
+ A socket of type ZMQ_XREP is an advanced pattern used for extending
+request/reply sockets. When receiving messages a ZMQ_XREP socket shall
+prepend a message part containing the identity of the originating peer to the
+message before passing it to the application. Messages received are fair-queued
+from among all connected peers. When sending messages a ZMQ_XREP socket shall
+remove the first part of the message and use it to determine the identity of
+the peer the message shall be routed to. When a ZMQ_XREP socket enters an exceptional state due to having reached the
+high water mark for all peers, or if there are no peers at all, then any
+messages sent to the socket shall be dropped until the exceptional state ends.
+Likewise, any messages routed to a non-existent peer or a peer for which the
+individual high water mark has been reached shall also be dropped. When a ZMQ_REQ socket is connected to a ZMQ_XREP socket, in addition to the
+identity of the originating peer each message received shall contain an empty
+delimiter message part. Hence, the entire structure of each received message
+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
+application must include the delimiter part.
+ZMQ_XREQ, ZMQ_REQ
+
+Bidirectional
+
+Unrestricted
+
+See text
+
+Fair-queued
+
+Drop
+ The publish-subscribe pattern is used for one-to-many distribution of data from
a single publisher to multiple subscribers in a fanout fashion.ZMQ_XREQ
+
+
+
+
+Compatible peer sockets
+
+
+
+
+
+
+
+Direction
+
+
+
+
+
+
+
+Send/receive pattern
+
+
+
+
+
+
+
+Outgoing routing strategy
+
+
+
+
+
+
+
+Incoming routing strategy
+
+
+
+
+
+
+
+ZMQ_HWM option action
+
+
+
+
+ZMQ_XREP
+
+
+
+
+Compatible peer sockets
+
+
+
+
+
+
+
+Direction
+
+
+
+
+
+
+
+Send/receive pattern
+
+
+
+
+
+
+
+Outgoing routing strategy
+
+
+
+
+
+
+
+Incoming routing strategy
+
+
+
+
+
+
+
+ZMQ_HWM option action
+
+
+
+
+Publish-subscribe pattern
A socket of type ZMQ_DOWNSTREAM is used by a pipeline node to send messages +
A socket of type ZMQ_PUSH is used by a pipeline node to send messages to downstream pipeline nodes. Messages are load-balanced to all connected downstream nodes. The zmq_recv() function is not implemented for this socket type.
When a ZMQ_DOWNSTREAM socket enters an exceptional state due to having -reached the high water mark for all downstream nodes, or if there are no -downstream nodes at all, then any zmq_send(3) operations on the -socket shall block until the exceptional state ends or at least one downstream -node becomes available for sending; messages are not discarded.
Compatible peer sockets @@ -950,7 +1118,7 @@ Compatible peer sockets |
-ZMQ_UPSTREAM +ZMQ_PULL |
A socket of type ZMQ_UPSTREAM is used by a pipeline node to receive -messages from upstream pipeline nodes. Messages are fair-queued from among -all connected upstream nodes. The zmq_send() function is not implemented -for this socket type.
Compatible peer sockets @@ -1023,7 +1192,7 @@ Compatible peer sockets |
-ZMQ_DOWNSTREAM +ZMQ_PUSH |