当前位置: 首页>>代码示例>>Golang>>正文


Golang C.zmq_msg_init_size函数代码示例

本文整理汇总了Golang中C.zmq_msg_init_size函数的典型用法代码示例。如果您正苦于以下问题:Golang zmq_msg_init_size函数的具体用法?Golang zmq_msg_init_size怎么用?Golang zmq_msg_init_size使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了zmq_msg_init_size函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: Send

// Send a message to the socket.
// int zmq_send (void *s, zmq_msg_t *msg, int flags);
func (s *zmqSocket) Send(data []byte, flags SendRecvOption) error {
	var m C.zmq_msg_t
	// Copy data array into C-allocated buffer.
	size := C.size_t(len(data))

	if C.zmq_msg_init_size(&m, size) != 0 {
		return errno()
	}

	if size > 0 {
		// FIXME Ideally this wouldn't require a copy.
		C.memcpy(unsafe.Pointer(C.zmq_msg_data(&m)), unsafe.Pointer(&data[0]), size) // XXX I hope this works...(seems to)
	}

	if C.zmq_sendmsg(s.s, &m, C.int(flags)) != 0 {
		// zmq_send did not take ownership, free message
		C.zmq_msg_close(&m)
		return errno()
	}
	return nil
}
开发者ID:aaudis,项目名称:gozmq,代码行数:23,代码来源:zmq.go

示例2: MessageInitSize

func MessageInitSize(message ZMessage, size int) os.Error {
	return handle(C.zmq_msg_init_size(message.Ptr, C.size_t(size)))
}
开发者ID:badgerodon,项目名称:zmq,代码行数:3,代码来源:zmq.go

示例3: toMsg

func toMsg(msg *C.zmq_msg_t, data []byte) {
	C.zmq_msg_init_size(msg, C.size_t(len(data)))
	if len(data) > 0 {
		C.memcpy(C.zmq_msg_data(msg), unsafe.Pointer(&data[0]), C.size_t(len(data)))
	}
}
开发者ID:pakohan,项目名称:go-zmq,代码行数:6,代码来源:zmq.go

示例4: allocate

func (p *lzmqMessage) allocate(length int) os.Error {
	return p.Provider().OkIf(C.zmq_msg_init_size(p.ptr(), C.size_t(length)) == 0)
}
开发者ID:miffa,项目名称:gozero,代码行数:3,代码来源:zmq.go


注:本文中的C.zmq_msg_init_size函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。