From 597cc5edd624525563e6549dc0057eca2a51c81d Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Tue, 11 Nov 2014 13:30:46 -0500 Subject: upgrade to new version --- doc/zmq_sendmsg.html | 951 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 951 insertions(+) create mode 100644 doc/zmq_sendmsg.html (limited to 'doc/zmq_sendmsg.html') diff --git a/doc/zmq_sendmsg.html b/doc/zmq_sendmsg.html new file mode 100644 index 0000000..c8e4e7b --- /dev/null +++ b/doc/zmq_sendmsg.html @@ -0,0 +1,951 @@ + + + + + +zmq_sendmsg(3) + + + + + +
+
+

SYNOPSIS

+
+

int zmq_sendmsg (void *socket, zmq_msg_t *msg, int flags);

+
+
+
+

DESCRIPTION

+
+

The zmq_sendmsg() function shall queue the message referenced by the msg +argument to be sent to the socket referenced by the socket argument. The +flags argument is a combination of the flags defined below:

+
+
+ZMQ_DONTWAIT +
+
+

+For socket types (DEALER, PUSH) that block when there are no available peers +(or all peers have full high-water mark), specifies that the operation should +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 +
+
+

+Specifies that the message being sent is a multi-part message, and that further +message parts are to follow. Refer to the section regarding multi-part messages +below for a detailed description. +

+
+
+

The zmq_msg_t structure passed to zmq_sendmsg() is nullified during the +call. If you want to send the same message to multiple sockets you have to copy +it using (e.g. using zmq_msg_copy()).

+
+ + + +
+
Note
+
A successful invocation of zmq_sendmsg() does not indicate that the +message has been transmitted to the network, only that it has been queued on +the socket and ØMQ has assumed responsibility for the message.
+
+
+ + + +
+
Note
+
this API method is deprecated in favor of zmq_msg_send(3).
+
+
+

Multi-part messages

+

A ØMQ message is composed of 1 or more message parts. Each message +part is an independent zmq_msg_t in its own right. ØMQ ensures atomic +delivery of messages: peers shall receive either all message parts of a +message or none at all. The total number of message parts is unlimited except +by available memory.

+

An application that sends multi-part messages must use the ZMQ_SNDMORE flag +when sending each message part except the final one.

+
+
+
+
+

RETURN VALUE

+
+

The zmq_sendmsg() function shall return number of bytes in the message +if successful. Otherwise it shall return -1 and set errno to one of the +values defined below.

+
+
+
+

ERRORS

+
+
+
+EAGAIN +
+
+

+Non-blocking mode was requested and the message cannot be sent at the moment. +

+
+
+ENOTSUP +
+
+

+The zmq_sendmsg() operation is not supported by this socket type. +

+
+
+EFSM +
+
+

+The zmq_sendmsg() operation cannot be performed on this socket at the moment +due to the socket not being in the appropriate state. This error may occur with +socket types that switch between several states, such as ZMQ_REP. See the +messaging patterns section of zmq_socket(3) for more information. +

+
+
+ETERM +
+
+

+The ØMQ context associated with the specified socket was terminated. +

+
+
+ENOTSOCK +
+
+

+The provided socket was invalid. +

+
+
+EINTR +
+
+

+The operation was interrupted by delivery of a signal before the message was +sent. +

+
+
+EFAULT +
+
+

+Invalid message. +

+
+
+EHOSTUNREACH +
+
+

+The message cannot be routed. +

+
+
+
+
+
+

EXAMPLE

+
+
+
Filling in a message and sending it to a socket
+
+
/* Create a new message, allocating 6 bytes for message content */
+zmq_msg_t msg;
+int rc = zmq_msg_init_size (&msg, 6);
+assert (rc == 0);
+/* Fill in message content with 'AAAAAA' */
+memset (zmq_msg_data (&msg), 'A', 6);
+/* Send the message to the socket */
+rc = zmq_sendmsg (socket, &msg, 0);
+assert (rc == 6);
+
+
+
Sending a multi-part message
+
+
/* Send a multi-part message consisting of three parts to socket */
+rc = zmq_sendmsg (socket, &part1, ZMQ_SNDMORE);
+rc = zmq_sendmsg (socket, &part2, ZMQ_SNDMORE);
+/* Final part; no more parts to follow */
+rc = zmq_sendmsg (socket, &part3, 0);
+
+
+
+
+

SEE ALSO

+ +
+
+

AUTHORS

+
+

This page was written by the ØMQ community. To make a change please +read the ØMQ Contribution Policy at http://www.zeromq.org/docs:contributing.

+
+
+
+

+ + + -- cgit v1.2.3