diff options
Diffstat (limited to 'doc/zmq_msg_recv.3')
-rw-r--r-- | doc/zmq_msg_recv.3 | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/doc/zmq_msg_recv.3 b/doc/zmq_msg_recv.3 deleted file mode 100644 index 71ea73b..0000000 --- a/doc/zmq_msg_recv.3 +++ /dev/null @@ -1,161 +0,0 @@ -'\" t -.\" Title: zmq_msg_recv -.\" Author: [see the "AUTHORS" section] -.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/> -.\" Date: 03/10/2014 -.\" Manual: 0MQ Manual -.\" Source: 0MQ 4.0.1 -.\" Language: English -.\" -.TH "ZMQ_MSG_RECV" "3" "03/10/2014" "0MQ 4\&.0\&.1" "0MQ Manual" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -zmq_msg_recv \- receive a message part from a socket -.SH "SYNOPSIS" -.sp -\fBint zmq_msg_recv (zmq_msg_t \fR\fB\fI*msg\fR\fR\fB, void \fR\fB\fI*socket\fR\fR\fB, int \fR\fB\fIflags\fR\fR\fB);\fR -.SH "DESCRIPTION" -.sp -The \fIzmq_msg_recv()\fR function is identical to \fBzmq_recvmsg\fR(3), which shall be deprecated in future versions\&. \fIzmq_msg_recv()\fR is more consistent with other message manipulation functions\&. -.sp -The \fIzmq_msg_recv()\fR function shall receive a message part from the socket referenced by the \fIsocket\fR argument and store it in the message referenced by the \fImsg\fR argument\&. Any content previously stored in \fImsg\fR shall be properly deallocated\&. If there are no message parts available on the specified \fIsocket\fR the \fIzmq_msg_recv()\fR function shall block until the request can be satisfied\&. The \fIflags\fR argument is a combination of the flags defined below: -.PP -\fBZMQ_DONTWAIT\fR -.RS 4 -Specifies that the operation should be performed in non\-blocking mode\&. If there are no messages available on the specified -\fIsocket\fR, the -\fIzmq_msg_recv()\fR -function shall fail with -\fIerrno\fR -set to EAGAIN\&. -.RE -.SS "Multi\-part messages" -.sp -A 0MQ message is composed of 1 or more message parts\&. Each message part is an independent \fIzmq_msg_t\fR in its own right\&. 0MQ ensures atomic delivery of messages: peers shall receive either all \fImessage parts\fR of a message or none at all\&. The total number of message parts is unlimited except by available memory\&. -.sp -An application that processes multi\-part messages must use the \fIZMQ_RCVMORE\fR \fBzmq_getsockopt\fR(3) option after calling \fIzmq_msg_recv()\fR to determine if there are further parts to receive\&. -.SH "RETURN VALUE" -.sp -The \fIzmq_msg_recv()\fR function shall return number of bytes in the message if successful\&. Otherwise it shall return \-1 and set \fIerrno\fR to one of the values defined below\&. -.SH "ERRORS" -.PP -\fBEAGAIN\fR -.RS 4 -Non\-blocking mode was requested and no messages are available at the moment\&. -.RE -.PP -\fBENOTSUP\fR -.RS 4 -The -\fIzmq_msg_recv()\fR -operation is not supported by this socket type\&. -.RE -.PP -\fBEFSM\fR -.RS 4 -The -\fIzmq_msg_recv()\fR -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 -\fImessaging patterns\fR -section of -\fBzmq_socket\fR(3) -for more information\&. -.RE -.PP -\fBETERM\fR -.RS 4 -The 0MQ -\fIcontext\fR -associated with the specified -\fIsocket\fR -was terminated\&. -.RE -.PP -\fBENOTSOCK\fR -.RS 4 -The provided -\fIsocket\fR -was invalid\&. -.RE -.PP -\fBEINTR\fR -.RS 4 -The operation was interrupted by delivery of a signal before a message was available\&. -.RE -.PP -\fBEFAULT\fR -.RS 4 -The message passed to the function was invalid\&. -.RE -.SH "EXAMPLE" -.PP -\fBReceiving a message from a socket\fR. -.sp -.if n \{\ -.RS 4 -.\} -.nf -/* Create an empty 0MQ message */ -zmq_msg_t msg; -int rc = zmq_msg_init (&msg); -assert (rc == 0); -/* Block until a message is available to be received from socket */ -rc = zmq_msg_recv (&msg, socket, 0); -assert (rc != \-1); -/* Release message */ -zmq_msg_close (&msg); -.fi -.if n \{\ -.RE -.\} -.PP -\fBReceiving a multi-part message\fR. -.sp -.if n \{\ -.RS 4 -.\} -.nf -int64_t more; -size_t more_size = sizeof (more); -do { - /* Create an empty 0MQ message to hold the message part */ - zmq_msg_t part; - int rc = zmq_msg_init (&part); - assert (rc == 0); - /* Block until a message is available to be received from socket */ - rc = zmq_msg_recv (&part, socket, 0); - assert (rc != \-1); - /* Determine if more message parts are to follow */ - rc = zmq_getsockopt (socket, ZMQ_RCVMORE, &more, &more_size); - assert (rc == 0); - zmq_msg_close (&part); -} while (more); -.fi -.if n \{\ -.RE -.\} -.sp -.SH "SEE ALSO" -.sp -\fBzmq_recv\fR(3) \fBzmq_send\fR(3) \fBzmq_msg_send\fR(3) \fBzmq_getsockopt\fR(3) \fBzmq_socket\fR(7) \fBzmq\fR(7) -.SH "AUTHORS" -.sp -This page was written by the 0MQ community\&. To make a change please read the 0MQ Contribution Policy at \m[blue]\fBhttp://www\&.zeromq\&.org/docs:contributing\fR\m[]\&. |