summaryrefslogtreecommitdiff
path: root/man/man3/zmq_init.3
blob: f4f70765f2cb616ec2b7be76585f6aa55b4e889d (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
.TH zmq_init 3 "" "(c)2007-2009 FastMQ Inc." "0MQ User Manuals"
.SH NAME
zmq_init \- initialises 0MQ context
.SH SYNOPSIS
.B void *zmq_init (int app_threads, int io_threads, int flags);
.SH DESCRIPTION
Initialises 0MQ context. 
.IR app_threads
specifies maximal number of application threads that can own open sockets
at the same time. At least one application thread should be defined.
.IR io_threads
specifies the size of thread pool to handle I/O operations. The value shouldn't
be negative. Zero can be used in case only in-process messaging is going to be
used, i.e. there will be no I/O traffic.

.IR flags 
argument is a combination of the flags defined below:
.IP "\fBZMQ_POLL\fP"
flag specifying that the sockets within this context should be pollable (see
.IR zmq_poll
). Pollable sockets may add a little latency to the message transfer when
compared to non-pollable sockets.

.SH RETURN VALUE
Function returns context handle is successful. Otherwise it returns NULL and
sets errno to one of the values below.
.SH ERRORS
.IP "\fBEINVAL\fP"
there's less than one application thread allocated, or number of I/O threads
is negative.
.SH EXAMPLE
.nf
void *ctx = zmq_init (1, 1, ZMQ_POLL);
assert (ctx);
.fi
.SH SEE ALSO
.BR zmq_term (3)
.BR zmq_socket (3)
.SH AUTHOR
Martin Sustrik <sustrik at 250bpm dot com>