ZeroMQ接口函数之 :zmq_msg_init_data - 从一个指定的存储空间中初始化一个ZMQ消息对象的数据...
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_msg_init_data
zmq_msg_init_data(3) ?MQ?Manual?-??MQ/3.2.5
Name
zmq_msg_init_data?-?從一個指定的存儲空間中初始化一個ZMQ消息對象的數據
Synopsis
typedef void (zmq_free_fn) (void *data, void *hint); int zmq_msg_init_data (zmq_msg_t *msg, void *data, size_t size, zmq_free_fn *ffn, void *hint);Description
zmq_msg_init_data()函數會用data參數和size參數指定的數據對msg參數指定的ZMQ消息對象的內容進行初始化。ZMQ不會執行拷貝操作,并且ZMQ會取得指定數據的擁有權。
如果提供了回收功能函數ffn,ffn將會在data數據不再使用的時候被ZMQ調用一次,ZMQ會將zmq_msg_init_data()函數中的參數data和hint參數傳遞給ffn函數。
永遠不要直接對zmq_msg_t對象進行直接操作,而是要使用zmq_msg函數族進行操作。
zmq_msg_init()、zmq_msg_init_data()和zmq_msg_init_size()這三個函數是互斥的。永遠不要把一個zmq_msg_t對象初始化兩次。
Return?value
函數zmq_msg_init_data()執行成功會返回0。否則返回?-1,并且設置errno的值為下列指定的值。
Errors
ENOMEM
存儲空間不足。
Example
使用一個指定的存儲空間對ZMQ消息對象進行初始化。
void my_free (void *data, void *hint) {free (data); } /* ... */ void *data = malloc (6); assert (data); memcpy (data, "ABCDEF", 6); zmq_msg_t msg; rc = zmq_msg_init_data (&msg, data, 6, my_free, NULL); assert (rc == 0);See?also
zmq_msg_init_size(3) ?zmq_msg_init(3) ?zmq_msg_close(3) ?zmq_msg_data(3) ?zmq_msg_size(3) ?zmq(7)
Authors
This??MQ?manual?page?was?written?by?Martin?Sustrik?<sustrik@250bpm.com>?and?Martin?Lucina?<mato@kotelna.sk>.
Web?site?design?and?content?is?copyright?(c)?2007-2012?iMatix?Corporation.?Contact?us?for?professional?support.?Site?content?licensed?under?the?Creative?Commons?Attribution-Share?Alike?3.0?License.??MQ?is?copyright?(c)?Copyright?(c)?2007-2012?iMatix?Corporation?and?Contributors.??MQ?is?free?software?licensed?under?the?LGPL.??MQ,?ZeroMQ,?and?0MQ?are?trademarks?of?iMatix?Corporation.?Terms?of?Use?—?Privacy
Policy
?
更多 ZeroMQ API?:http://www.cnblogs.com/fengbohello/p/4230135.html
?
翻譯:風波
mail : fengbohello@qq.com
?
轉載于:https://www.cnblogs.com/fengbohello/p/4245656.html
總結
以上是生活随笔為你收集整理的ZeroMQ接口函数之 :zmq_msg_init_data - 从一个指定的存储空间中初始化一个ZMQ消息对象的数据...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS篇 《图解CSS3》笔记 Flex
- 下一篇: 怎么将硬盘格式化成gpt分区 转换硬盘为