summaryrefslogtreecommitdiff
path: root/man/man3/zmq_send.3
blob: 0ebbd0cfcc0c3cf13a3934c771235bdebf1293c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
.TH zmq_send 3 "" "(c)2007-2009 FastMQ Inc." "0MQ User Manuals"
.SH NAME
zmq_send \- sends a message
.SH SYNOPSIS
.B int zmq_send (void *s, zmq_msg_t *msg, int flags);
.SH DESCRIPTION
Send the message
.IR msg
to the socket
.IR s .
.IR flags
argument can be combination 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.

.IP "\fBZMQ_NOFLUSH\fP"
The flag specifies that
.IR zmq_send
should not flush the message downstream immediately. Instead, it should batch
ZMQ_NOFLUSH messages and send them downstream only once
.IR zmq_flush
is invoked. This is an optimisation for cases where several messages are sent
in a single business transaction. However, the effect is measurable only in
extremely high-perf scenarios (million messages a second or so).
If that's not your case, use standard flushing send instead.

.SH RETURN VALUE
In case of success the function returns zero. Otherwise it returns -1 and
sets
.IR errno
to the appropriate value.
.SH ERRORS
.IP "\fBEAGAIN\fP"
it's a non-blocking send and message cannot be sent 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
approprite state. This error may occur with sockets that switch between
several states (e.g. ZMQ_REQ).
.SH EXAMPLE
.nf
zmq_msg_t msg;
int rc = zmq_msg_init_size (&msg, 6);
assert (rc == 0);
memset (zmq_msg_data (&msg), 'A', 6);
rc = zmq_send (s, &msg, 0);
assert (rc == 0);
.fi
.SH SEE ALSO
.BR zmq_flush (3)
.BR zmq_recv (3)
.BR zmq_msg_init (3)
.BR zmq_msg_init_size (3)
.BR zmq_msg_init_data (3)
.BR zmq_msg_data (3)
.BR zmq_msg_size (3)
.SH AUTHOR
Martin Sustrik <sustrik at 250bpm dot com>