Link Kit C-SDK
5.0.0
|
设备消息模块,包含:构建自定义消息、构建rrpc消息、消息拷贝、消息删除等功能 更多...
#include <stdint.h>
结构体 | |
struct | aiot_msg_t |
描述消息的数据结构 更多... | |
函数 | |
aiot_msg_t * | aiot_msg_create_raw (char *topic, uint8_t *payload, uint32_t payload_lenth) |
生成透传的消息,topic和payload都使用参数内的 更多... | |
aiot_msg_t * | aiot_msg_create_user_define (char *productKey, char *deviceName, char *sub_topic, uint8_t *payload, uint32_t payload_lenth) |
生成自定义topic的消息 更多... | |
aiot_msg_t * | aiot_msg_create_rrpc_reply (const aiot_msg_t *message, uint8_t *payload, uint32_t payload_lenth) |
生成rrpc回复的消息 更多... | |
aiot_msg_t * | aiot_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消息、消息拷贝、消息删除等功能
aiot_msg_t* aiot_msg_create_raw | ( | char * | topic, |
uint8_t * | payload, | ||
uint32_t | payload_lenth | ||
) |
生成透传的消息,topic和payload都使用参数内的
非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 | 消息载体的长度 |
非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 | 消息载体的长度 |
非NULL | 消息句柄 |
NULL | 初始化失败, 一般是内存分配失败导致 |
aiot_msg_t* aiot_msg_clone | ( | aiot_msg_t * | message | ) |
深拷贝消息
使用示例:接收到消息时,如果消息处理时间过长,不建议在回调中处理。 可以先对消息进行拷贝,在其它线程处理,处理后需调用 aiot_msg_delete 删除消息
[in] | message | 源消息 |
非NULL | 消息句柄 |
NULL | 初始化失败, 一般是内存分配失败导致 |
int32_t aiot_msg_delete | ( | aiot_msg_t * | message | ) |
删除消息,销毁消息资源
[in] | message | 待删除的消息 |
<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,无返回将重发] |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |