DOKK / manpages / debian 11 / libzmq3-dev / zmq_msg_copy.3.en
ZMQ_MSG_COPY(3) 0MQ Manual ZMQ_MSG_COPY(3)

zmq_msg_copy - copy content of a message to another message

int zmq_msg_copy (zmq_msg_t *dest, zmq_msg_t *src);

The zmq_msg_copy() function shall copy the message object referenced by src to the message object referenced by dest. The original content of dest, if any, shall be released. You must initialise dest before copying to it.


Caution

The implementation may choose not to physically copy the message content, rather to share the underlying buffer between src and dest. Avoid modifying message content after a message has been copied with zmq_msg_copy(), doing so can result in undefined behaviour. If what you need is an actual hard copy, initialize a new message using zmq_msg_init_buffer() with the message content.


Caution

Never access zmq_msg_t members directly, instead always use the zmq_msg family of functions.

The zmq_msg_copy() function shall return zero if successful. Otherwise it shall return -1 and set errno to one of the values defined below.

EFAULT

Invalid message.

Copying a message.

zmq_msg_t msg;
zmq_msg_init_buffer (&msg, "Hello, World", 12);
zmq_msg_t copy;
zmq_msg_init (&copy);
zmq_msg_copy (&copy, &msg);
...
zmq_msg_close (&copy);
zmq_msg_close (&msg);

zmq_msg_move(3) zmq_msg_init(3) zmq_msg_init_size(3) zmq_msg_init_buffer(3) zmq_msg_init_data(3) zmq_msg_close(3) zmq(7)

This page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at http://www.zeromq.org/docs:contributing.

10/07/2023 0MQ 4.3.4