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_PUSH 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. Deprecated alias: ZMQ_DOWNSTREAM. Table 7. Summary of ZMQ_PUSH characteristics Compatible peer sockets ZMQ_PULL Direction Unidirectional Send/receive pattern Send only Incoming routing strategy N/A Outgoing routing strategy Load-balanced ZMQ_HWM option action Block
The zmq_bind() function shall create an endpoint for accepting connections and bind it to the socket referenced by the socket argument. The endpoint argument is a string consisting of two parts as follows: transport://address. The transport part specifies the underlying transport protocol to use. The meaning of the address part is specific to the underlying transport protocol selected. The following transports are defined: inproc local in-process (inter-thread) communication transport, see zmq_inproc(7) ipc local inter-process communication transport, see zmq_ipc(7) tcp unicast transport using TCP, see zmq_tcp(7) pgm, epgm reliable multicast transport using PGM, see zmq_pgm(7) With the exception of ZMQ_PAIR sockets, a single socket may be connected to multiple endpoints using zmq_connect(), while simultaneously accepting incoming connections from multiple endpoints bound to the socket using zmq_bind(). Refer to zmq_socket(3) for a description of the exact semantics involved when connecting or binding a socket to multiple endpoints.
Option value type int Option value unit N/A Default value N/A Applicable socket types all
Zero if exception is not an OS signal.