OpenHiva::Publisher::Publish
产品支持情况
产品 |
是否支持 |
---|---|
x |
|
x |
|
√ |
|
x |
|
x |
|
x |
功能说明
消息发布函数。
函数原型
- 支持用户输入序列化函数
1
uint32_t OpenHiva::Publisher::Publish(const std::function<bool (uint8_t *, uint32_t)> &serializeFunc, const uint32_t bufferLength)
- 支持HivaMessage消息发布
1
uint32_t OpenHiva::Publisher::Publish(const HivaMessage &message)
参数说明
- 支持用户输入序列化函数
参数名
输入/输出
说明
serializeFunc
输入
序列化回调函数。
bufferLength
输入
消息序列化的长度。
- 支持HivaMessage消息发布
参数名
输入/输出
说明
message
输入
用户要发布的消息,详见OpenHiva::HivaMessage类型定义。
返回值
返回uint32_t类型,成功返回HIVA_SUCCESS,该值为0;其他值为失败。
约束说明
- 本接口不可重入,同步接口。
- 通过Publisher对象调用,在Publish之前,必须保证Topic已经通过CreatePublisher接口声明。
- 不允许多个线程同时进行publish。
- SHM通信模式下,消息大小不能超过30000000(bytes)。
- 使用uint32_t OpenHiva::Publisher::Publish(const HivaMessage &message)接口时,消息类型必须继承HivaMessage,必须实现GetMessageType,GetMd5Sum等static接口。