zmq_cpp.7 2.36 KB
Newer Older
1
.TH zmq_cpp 7 "" "(c)2007-2010 iMatix Corporation" "0MQ User Manuals"
2
.SH NAME
3
0MQ C++ API \- interface between 0MQ and C++ applications
4
.SH SYNOPSIS
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

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 (
44 45
.BR zmq_msg_init(3) ,
.BR zmq_msg_init_size(3)
46
and
47
.BR zmq_msg_init_data(3) ,
48 49 50 51 52 53 54 55 56 57 58
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.

59
C++ provides an additional function not available with C API.
60 61 62 63
.IR zmq::message_t::rebuild
is equivalent to calling
.BR zmq_close(3)
followed by
64 65
.BR zmq_msg_init(3) ,
.BR zmq_msg_init_size (3)
66
or
67
.BR zmq_msg_init_data(3) .
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
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
100
.SH "SEE ALSO"
Martin Sustrik's avatar
Martin Sustrik committed
101
.BR zmq(7)
102
.SH AUTHOR
Martin Sustrik's avatar
Martin Sustrik committed
103
Martin Sustrik <sustrik at 250bpm dot com>