summaryrefslogtreecommitdiff
path: root/doc/zmq_init.txt
blob: 6683d272191ca944dfcbe7ee960f296210f6c7ea (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
zmq_init(3)
===========


NAME
----
zmq_init - initialises 0MQ context


SYNOPSIS
--------
'void *zmq_init (int app_threads, int io_threads, int flags);'


DESCRIPTION
-----------
Initialises 0MQ context. '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. '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.

The 'flags' argument is a combination of the flags defined below:

*ZMQ_POLL*::
    flag specifying that the sockets within this context should be pollable
    (see linkzmq:zmq_poll[3]). Pollable sockets may add a little latency to the
    message transfer when compared to non-pollable sockets.


RETURN VALUE
------------
Function returns context handle is successful. Otherwise it returns NULL and
sets errno to one of the values below.


ERRORS
------
*EINVAL*::
    there's less than one application thread allocated, or number of I/O
    threads is negative.


EXAMPLE
-------
----
void *ctx = zmq_init (1, 1, ZMQ_POLL);
assert (ctx);
----


SEE ALSO
--------
linkzmq:zmq_term[3]
linkzmq:zmq_socket[3]


AUTHOR
------
Martin Sustrik <sustrik at 250bpm dot com>