Rechercher une page de manuel
zmq_cpp
Langue: en
Version: 06/04/2010 (fedora - 01/12/10)
Section: 7 (Divers)
Sommaire
NAME
zmq_cpp - interface between 0MQ and C++ applicationsSYNOPSIS
#include <zmq.hpp>
c++ [flags] files -lzmq [libraries]
DESCRIPTION
This manual page describes how the 0MQ C++ language binding maps to the underlying 0MQ C library functions.
All 0MQ constants defined by zmq.h are also available to the C++ language binding.
The following classes are provided in the zmq namespace:
Context
The context_t class encapsulates functionality dealing with the initialisation and termination of a 0MQ context.
Constructor
-
-
context_t::context_t(int io_threads)
Maps to the zmq_init() function, as described in zmq_init(3).
-
Destructor
-
-
context_t::~context_t(void)
Maps to the zmq_term() function, as described in zmq_term(3).
-
Methods
None.
Socket
The socket_t class encapsulates a 0MQ socket.
Constructor
-
-
socket_t::socket_t(context_t &context, int type)
Maps to the zmq_socket() function, as described in zmq_socket(3).
-
Destructor
-
-
socket_t::~socket_t(void)
Calls the zmq_close() function, as described in zmq_close(3).
-
Methods
-
-
void socket_t::getsockopt(int option_name, void *option_value, size_t *option_len)
Maps to the zmq_getsockopt() function, as described in zmq_getsockopt(3).
-
void socket_t::setsockopt(int option_name, const void *option_value, size_t option_len)
Maps to the zmq_setsockopt() function, as described in zmq_setsockopt(3).
-
void socket_t::bind(const char *endpoint)
Maps to the zmq_bind() function, as described in zmq_bind(3).
-
void socket_t::connect(const char *endpoint)
Maps to the zmq_connect() function, as described in zmq_connect(3).
-
bool socket_t::send(message_t &msg, int flags = 0)
Maps to the zmq_send() function, as described in zmq_send(3).
-
bool socket_t::recv(message_t *msg, int flags = 0)
Maps to the zmq_recv() function, as described in zmq_recv(3).
-
Message
The zmq::message_t class encapsulates the zmq_msg_t structure and functions to construct, destruct and manipulate 0MQ messages.
Constructor
-
-
message_t::message_t(void) message_t::message_t(size_t size) message_t::message_t(void *data, size_t size, free_fn *ffn)
These map to the zmq_msg_init(), zmq_msg_init_size() and zmq_msg_init_data() functions, described in zmq_msg_init(3), zmq_msg_init_size(3) and zmq_msg_init_data(3) respectively.
-
Destructor
-
-
message_t::~message_t(void)
Calls the zmq_msg_close() function, as described in zmq_msg_close(3).
-
Methods
-
-
void *message_t::data (void)
Maps to the zmq_msg_data() function, as described in zmq_msg_data(3).
-
size_t message_t::size (void)
Maps to the zmq_msg_size() function, as described in zmq_msg_size(3).
-
void message_t::copy (message_t *src)
Maps to the zmq_msg_copy() function, as described in zmq_msg_copy(3).
-
void message_t::move (message_t *src)
Maps to the zmq_msg_move() function, as described in zmq_msg_move(3).
-
message_t::rebuild(void) message_t::rebuild(size_t size) message_t::rebuild(void *data, size_t size, free_fn *ffn)
Equivalent to calling the zmq_msg_close() function followed by the corresponding zmq_msg_init() function.
-
Input/output multiplexing
The poll() function is a namespaced equivalent of the zmq_poll() function, as described in zmq_poll(3).
Note
To obtain a 0MQ socket for use in a zmq_pollitem_t structure, you should cast an instance of the socket_t class to (void *).
ERROR HANDLING
All errors reported by the underlying 0MQ C library functions are automatically converted to exceptions by the C++ language binding. The zmq::error_t class is derived from the std::exception class and uses the zmq_strerror() function to convert the error code to human-readable string.
EXAMPLE
-
zmq::context_t ctx (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);
SEE ALSO
zmq(7)
AUTHORS
The 0MQ documentation was written by Martin Sustrik <m[blue]sustrik@250bpm.comm[][1]> and Martin Lucina <m[blue]mato@kotelna.skm[][2]>.
NOTES
- 1.
- sustrik@250bpm.com
- mailto:sustrik@250bpm.com
- 2.
- mato@kotelna.sk
- mailto:mato@kotelna.sk
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre