From 8e61b98c5e2943b149c825310b24e714a6127072 Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Mon, 23 Jan 2012 08:53:41 +0100 Subject: Imported Upstream version 2.1.4 --- doc/zmq_send.html | 744 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 744 insertions(+) create mode 100644 doc/zmq_send.html (limited to 'doc/zmq_send.html') diff --git a/doc/zmq_send.html b/doc/zmq_send.html new file mode 100644 index 0000000..eeb4654 --- /dev/null +++ b/doc/zmq_send.html @@ -0,0 +1,744 @@ + + + + + +zmq_send(3) + + + + + +
+

SYNOPSIS

+
+

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

+
+

DESCRIPTION

+
+

The zmq_send() 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_NOBLOCK +
+
+

+Specifies that the operation should 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 +
+
+

+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. +

+
+
+
+ + + +
+
Note
+
A successful invocation of zmq_send() 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.
+
+

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.

+

An application wishing to send a multi-part message does so by specifying the +ZMQ_SNDMORE flag to zmq_send(). The presence of this flag indicates to ØMQ +that the message being sent is a multi-part message and that more message parts +are to follow. When the application wishes to send the final message part it +does so by calling zmq_send() without the ZMQ_SNDMORE flag; this indicates +that no more message parts are to follow.

+
+

RETURN VALUE

+
+

The zmq_send() function shall return zero 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_send() operation is not supported by this socket type. +

+
+
+EFSM +
+
+

+The zmq_send() 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. +

+
+
+EFAULT +
+
+

+The provided socket was not valid (NULL). +

+
+
+EINTR +
+
+

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

+
+
+
+

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_send (socket, &msg, 0);
+assert (rc == 0);
+
+
+
Sending a multi-part message
+
+
/* Send a multi-part message consisting of three parts to socket */
+rc = zmq_send (socket, &part1, ZMQ_SNDMORE);
+rc = zmq_send (socket, &part2, ZMQ_SNDMORE);
+/* Final part; no more parts to follow */
+rc = zmq_send (socket, &part3, 0);
+
+
+

SEE ALSO

+ +

AUTHORS

+
+

This ØMQ manual page was written by Martin Sustrik <sustrik@250bpm.com> and +Martin Lucina <mato@kotelna.sk>.

+
+
+

+ + + -- cgit v1.2.3