summaryrefslogtreecommitdiff
path: root/man/man7/zmq_cpp.7
blob: 4df91572235510e54d8091201ab4f117214623c0 (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
.TH zmq_cpp 7 "" "(c)2007-2010 iMatix Corporation" "0MQ User Manuals"
.SH NAME
C++ API for 0MQ lightweight messaging kernel
.SH SYNOPSIS

This manual page explains how C++ API maps to underlying C API. To learn about
individual functions and parameters check appropriate C API manual
pages.

For example, to understand
.IR zmq::socket_t::setsockopt
function check
.BR zmq_setsockopt(3) .

All 0MQ constants defined with C API are available with C++ API.

.SH zmq::context_t

This class encapsulates the functions dealing with initialisation and
termination of 0MQ context. Constructor of the class invokes
.BR zmq_init(3)
while destructor calls
.BR zmq_term(3) .

.SH zmq::socket_t

This class encapsulates all the functions to deal with 0MQ sockets. Constructor
calls
.BR zmq_socket(3) ,
destructor calls
.BR zmq_close(3) .
Other functions of the class are mapped to C functions with corresponding names.
.IR zmq::socket_t::bind
calls
.BR zmq_bind(3)
etc.

.SH zmq::message_t

This class encapsulates 
.IR zmq_msg_t
structure and all the C functions that deal with 0MQ messages.
Constructors of the class invoke corresponding initialisation functions (
.BR zmq_msg_init(3) ,
.BR zmq_msg_init_size(3)
and
.BR zmq_msg_init_data(3) ,
while destructor invokes
.BR zmq_msg_close(3)
function.

Remaining functions are mapped to C functions with corresponding names.
For instance,
.IR zmq::message_t::copy
is mapped to
.BR zmq_msg_copy(3)
etc.

C++ provides an additional function not avialable with C API.
.IR zmq::message_t::rebuild
is equivalent to calling
.BR zmq_close(3)
followed by
.BR zmq_msg_init(3) ,
.BR zmq_msg_init_size (3)
or
.BR zmq_msg_init_data(3) .
It provides a way to reuse existing
.IR zmq::message_t
instances to store different message content.

.SH zmq::error_t

All the errors reported using
.IR errno
mechanism in C API are automatically converted to exceptions in C++ API.
.IR zmq::error_t
is derived from
.IR std::exception
and uses
.BR zmq_strerror(3)
function to convert the error code to human-readable string.

.SH zmq::poll

.IR zmq::poll
function is a namespaced equivalent of raw C
.BR zmq_poll(3)
function.

.SH EXAMPLE
.nf
zmq::context_t ctx (1, 1);
zmq::socket_t s (ctx, ZMQ_PUB);
s.connect ("tcp://192.168.0.115:5555");
zmq::message_t msg (100);
memset (msg.data (), 0, 100);
s.send (msg);
.fi
.SH "SEE ALSO"
.BR zmq(7)
.SH AUTHOR
Martin Sustrik <sustrik at 250bpm dot com>