ZeroMQ接口函数之 :zmq_msg_copy - 把一个消息的内容复制到另一个消息中

简介:

zmq_msg_copy - 把一个消息的内容复制到另一个消息中

Synopsis

int zmq_msg_copy (zmq_msg_t dest, zmq_msg_t src);
Description

zmq_msg_copy()函数会将src指定的消息对象中的内容复制到dest指定的消息对象中。如果dest中有数据的话,原数据将被释放。

函数在实现上并不会真的去进行数据复制,而是优先进行src和dest之间共享存储空间。应该避免在使用zmq_msg_copy()函数复制一个消息后又对其内容进行修改,这样做会引发未知的错误。如果你真的想实现硬复制,分配一个新消息并用zmq_msg_init_size()函数申请一个新的消息并用memcpy()复制其内容。

永远不要直接对zmq_msg_t对象进行直接操作,而是要使用zmq_msg函数族进行操作。

Return value

如果zmq_msg_move()函数执行成功返回0。否则返回 -1,并且设置errno的值为下列定义的值。

Errors

  EFAULT

    消息不可用。

本文转自郝峰波博客园博客,原文链接:http://www.cnblogs.com/fengbohello/p/4246674.html,如需转载请自行联系原作者

相关文章
|
消息中间件 C语言
zframe_send发送的内容,可以使用zmq_recv接收吗
如果你在同一套接字上混合使用CZMQ的zframe_send和ZMQ的zmq_recv,可能会遇到问题,因为这两个函数可能对ZMQ的内部状态有不同的预期。
100 0
|
消息中间件 监控 Kafka
【kafka源码】/log_dir_event_notification的LogDir脱机事件通知
【kafka源码】/log_dir_event_notification的LogDir脱机事件通知
【kafka源码】/log_dir_event_notification的LogDir脱机事件通知
|
消息中间件 存储 算法
【Android 异步操作】手写 Handler ( 消息队列 MessageQueue | 消息保存到链表 | 从链表中获取消息 )
【Android 异步操作】手写 Handler ( 消息队列 MessageQueue | 消息保存到链表 | 从链表中获取消息 )
252 0