zmq_recv.3 1.36 KB
Newer Older
1
.TH zmq_recv 3 "" "(c)2007-2010 iMatix Corporation" "0MQ User Manuals"
2 3 4 5 6
.SH NAME
zmq_recv \- retrieves a message from the socket
.SH SYNOPSIS
.B int zmq_recv (void *s, zmq_msg_t *msg, int flags);
.SH DESCRIPTION
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Receive a message from the socket
.IR s ,
store it in
.IR msg .
Any content previously in
.IR msg
will be properly deallocated.
.IR flags
argument can be combination of the flags described below.

.IP "\fBZMQ_NOBLOCK\fP"
The flag specifies that the operation should be performed in
non-blocking mode. I.e. if it cannot be processed immediately,
error should be returned with
.IR errno
set to EAGAIN.

24
.SH RETURN VALUE
25 26 27 28
In case of success the function returns zero. Otherwise it returns -1 and
sets
.IR errno
to the appropriate value.
29
.SH ERRORS
30 31 32 33 34 35
.IP "\fBEAGAIN\fP"
it's a non-blocking receive and there's no message available at the moment.
.IP "\fBENOTSUP\fP"
function isn't supported by particular socket type.
.IP "\fBEFSM\fP"
function cannot be called at the moment, because socket is not in the
36
appropriate state. This error may occur with sockets that switch between
37
several states (e.g. ZMQ_REQ).
38
.SH EXAMPLE
39 40 41 42 43 44 45
.nf
zmq_msg_t msg;
int rc = zmq_msg_init (&msg);
assert (rc == 0);
rc = zmq_recv (s, &msg, 0);
assert (rc == 0);
.fi
46
.SH SEE ALSO
47 48 49 50
.BR zmq_send (3)
.BR zmq_msg_init (3)
.BR zmq_msg_data (3)
.BR zmq_msg_size (3)
51 52
.SH AUTHOR
Martin Sustrik <sustrik at 250bpm dot com>