昇腾社区首页
中文
注册

OpenHiva::Publisher::Publish

函数功能

消息发布函数。

函数原型

  • 支持用户输入序列化函数

    uint32_t OpenHiva::Publisher::Publish(const std::function<bool (uint8_t *, uint32_t)> &serializeFunc, const uint32_t bufferLength)

  • 支持HivaMessage消息发布

    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接口。