mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-27 15:41:05 +08:00
7b1fef28f9
* Problem: boilerplate when init msg from data copy Solution: Add zmq_msg_init_buffer to construct a message by copying memory from buffer.
73 lines
1.7 KiB
Plaintext
73 lines
1.7 KiB
Plaintext
zmq_msg_copy(3)
|
|
===============
|
|
|
|
|
|
NAME
|
|
----
|
|
zmq_msg_copy - copy content of a message to another message
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
*int zmq_msg_copy (zmq_msg_t '*dest', zmq_msg_t '*src');*
|
|
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
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.
|
|
|
|
|
|
RETURN VALUE
|
|
------------
|
|
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.
|
|
|
|
|
|
ERRORS
|
|
------
|
|
*EFAULT*::
|
|
Invalid message.
|
|
|
|
|
|
EXAMPLE
|
|
-------
|
|
.Copying a message
|
|
----
|
|
zmq_msg_t msg;
|
|
zmq_msg_init_buffer (&msg, "Hello, World", 12);
|
|
zmq_msg_t copy;
|
|
zmq_msg_init (©);
|
|
zmq_msg_copy (©, &msg);
|
|
...
|
|
zmq_msg_close (©);
|
|
zmq_msg_close (&msg);
|
|
----
|
|
|
|
SEE ALSO
|
|
--------
|
|
linkzmq:zmq_msg_move[3]
|
|
linkzmq:zmq_msg_init[3]
|
|
linkzmq:zmq_msg_init_size[3]
|
|
linkzmq:zmq_msg_init_buffer[3]
|
|
linkzmq:zmq_msg_init_data[3]
|
|
linkzmq:zmq_msg_close[3]
|
|
linkzmq:zmq[7]
|
|
|
|
|
|
AUTHORS
|
|
-------
|
|
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>.
|