ZMQ_MSG_INIT_SIZE(3) 0MQ Manual ZMQ_MSG_INIT_SIZE(3)NAME
zmq_msg_init_size - initialise 0MQ message of a specified size
SYNOPSIS
int zmq_msg_init_size (zmq_msg_t *msg, size_t size);
DESCRIPTION
The zmq_msg_init_size() function shall allocate any resources required to store a message size bytes long and initialise the message object
referenced by msg to represent the newly allocated message.
The implementation shall choose whether to store message content on the stack (small messages) or on the heap (large messages). For
performance reasons zmq_msg_init_size() shall not clear the message data.
Caution
Never access zmq_msg_t members directly, instead always use the zmq_msg family of functions.
Caution
The functions zmq_msg_init(), zmq_msg_init_data() and zmq_msg_init_size() are mutually exclusive. Never initialize the same zmq_msg_t
twice.
RETURN VALUE
The zmq_msg_init_size() function shall return zero if successful. Otherwise it shall return -1 and set errno to one of the values defined
below.
ERRORS
ENOMEM
Insufficient storage space is available.
SEE ALSO zmq_msg_init_data(3)zmq_msg_init(3)zmq_msg_close(3)zmq_msg_data(3)zmq_msg_size(3)zmq(7)AUTHORS
This manual page was written by the 0MQ community.
0MQ 2.2.0 04/04/2012 ZMQ_MSG_INIT_SIZE(3)
Check Out this Related Man Page
ZMQ_CPP(7) 0MQ Manual ZMQ_CPP(7)NAME
zmq_cpp - interface between 0MQ and C++ applications
SYNOPSIS
#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). Returns true if message is successfully sent, false if it is not.
bool socket_t::recv(message_t *msg, int flags = 0)
Maps to the zmq_recv() function, as described in zmq_recv(3). Returns true if message is successfully received, false if it is not.
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
int poll (zmq_pollitem_t *items, int nitems, long timeout = -1)
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
This manual page was written by the 0MQ community.
0MQ 2.2.0 04/04/2012 ZMQ_CPP(7)