Link Kit C-SDK  5.0.0
结构体 | 函数
aiot_message_api.h 文件参考

设备消息模块,包含:构建自定义消息、构建rrpc消息、消息拷贝、消息删除等功能 更多...

#include <stdint.h>

浏览源代码.

结构体

struct  aiot_msg_t
 描述消息的数据结构 更多...
 

函数

aiot_msg_taiot_msg_create_raw (char *topic, uint8_t *payload, uint32_t payload_lenth)
 生成透传的消息,topic和payload都使用参数内的 更多...
 
aiot_msg_taiot_msg_create_user_define (char *productKey, char *deviceName, char *sub_topic, uint8_t *payload, uint32_t payload_lenth)
 生成自定义topic的消息 更多...
 
aiot_msg_taiot_msg_create_rrpc_reply (const aiot_msg_t *message, uint8_t *payload, uint32_t payload_lenth)
 生成rrpc回复的消息 更多...
 
aiot_msg_taiot_msg_clone (aiot_msg_t *message)
 深拷贝消息 更多...
 
int32_t aiot_msg_delete (aiot_msg_t *message)
 删除消息,销毁消息资源 更多...
 
int32_t aiot_msg_set_qos (aiot_msg_t *message, uint8_t qos)
 设置消息发送的qos 更多...
 

详细描述

设备消息模块,包含:构建自定义消息、构建rrpc消息、消息拷贝、消息删除等功能

日期
2021-12-16

函数说明

aiot_msg_t* aiot_msg_create_raw ( char *  topic,
uint8_t *  payload,
uint32_t  payload_lenth 
)

生成透传的消息,topic和payload都使用参数内的

返回
aiot_msg_t*
返回值
非NULL消息句柄
NULL初始化失败, 一般是内存分配失败导致
aiot_msg_t* aiot_msg_create_user_define ( char *  productKey,
char *  deviceName,
char *  sub_topic,
uint8_t *  payload,
uint32_t  payload_lenth 
)

生成自定义topic的消息

参数
[in]productKey设备认证信息中的产品类型
[in]deviceName设备遏认证信息的设备名
[in]sub_topic自定义topic中自定义的部分
[in]payload消息载体
[in]payload_lenth消息载体的长度
返回
aiot_msg_t*
返回值
非NULL消息句柄
NULL初始化失败, 一般是内存分配失败导致
aiot_msg_t* aiot_msg_create_rrpc_reply ( const aiot_msg_t message,
uint8_t *  payload,
uint32_t  payload_lenth 
)

生成rrpc回复的消息

参数
[in]message接收到的rrpc消息
[in]payload消息载体
[in]payload_lenth消息载体的长度
返回
aiot_msg_t*
返回值
非NULL消息句柄
NULL初始化失败, 一般是内存分配失败导致
aiot_msg_t* aiot_msg_clone ( aiot_msg_t message)

深拷贝消息

使用示例:接收到消息时,如果消息处理时间过长,不建议在回调中处理。 可以先对消息进行拷贝,在其它线程处理,处理后需调用 aiot_msg_delete 删除消息

参数
[in]message源消息
返回
aiot_msg_t*
返回值
非NULL消息句柄
NULL初始化失败, 一般是内存分配失败导致
int32_t aiot_msg_delete ( aiot_msg_t message)

删除消息,销毁消息资源

参数
[in]message待删除的消息
返回
int32_t
返回值
<STATE_SUCCESS执行失败, 更多信息请参考aiot_state_api.h
>=STATE_SUCCESS执行成功
int32_t aiot_msg_set_qos ( aiot_msg_t message,
uint8_t  qos 
)

设置消息发送的qos

参数
[in]message需要配置的消息
[in]qos[0, 不确认ack], [1, 需确认ack,无返回将重发]
返回
int32_t
返回值
<STATE_SUCCESS执行失败, 更多信息请参考aiot_state_api.h
>=STATE_SUCCESS执行成功