Link Kit C-SDK  5.0.0
aiot_message_api.h
浏览该文件的文档.
1 
11 #ifndef _AIOT_MESSAGE_API_H_
12 #define _AIOT_MESSAGE_API_H_
13 
14 #if defined(__cplusplus)
15 extern "C" {
16 #endif
17 
18 #include <stdint.h>
19 
20 
24 typedef struct {
28  char *topic; /* 消息的话题,类似于命令字 */
32  uint8_t *payload; /* 消息的载体 */
36  uint32_t payload_lenth; /* 消息的载体长度 */
40  char qos; /* 消息的质量等级,0:至多一次到达 1:至少一次到达 */
44  uint32_t id; /* Alink协议的消息id */
45 
46  /* 接收消息:rrpc报文:云端对设备的同步调用,需要保存上下文信息以便消息返回 */
50  char *rrpc_id;
54  int32_t rrpc_cid;
55 } aiot_msg_t;
56 
65 aiot_msg_t* aiot_msg_create_raw(char *topic, uint8_t *payload, uint32_t payload_lenth);
66 
79 aiot_msg_t* aiot_msg_create_user_define(char *productKey, char *deviceName, char *sub_topic, uint8_t *payload, uint32_t payload_lenth);
80 
91 aiot_msg_t* aiot_msg_create_rrpc_reply(const aiot_msg_t *message, uint8_t *payload, uint32_t payload_lenth);
92 
105 
114 int32_t aiot_msg_delete(aiot_msg_t* message);
115 
125 int32_t aiot_msg_set_qos(aiot_msg_t* message, uint8_t qos);
126 
127 
128 #if defined(__cplusplus)
129 }
130 #endif
131 
132 #endif
aiot_msg_t * aiot_msg_create_raw(char *topic, uint8_t *payload, uint32_t payload_lenth)
生成透传的消息,topic和payload都使用参数内的
uint32_t id
Alink协议的消息id.
Definition: aiot_message_api.h:44
aiot_msg_t * aiot_msg_create_user_define(char *productKey, char *deviceName, char *sub_topic, uint8_t *payload, uint32_t payload_lenth)
生成自定义topic的消息
int32_t aiot_msg_set_qos(aiot_msg_t *message, uint8_t qos)
设置消息发送的qos
uint8_t * payload
消息的载体
Definition: aiot_message_api.h:32
int32_t rrpc_cid
rrpc的消息通道id,rrpc消息回复需要走相同的连接回复
Definition: aiot_message_api.h:54
int32_t aiot_msg_delete(aiot_msg_t *message)
删除消息,销毁消息资源
char qos
消息的质量等级,0:至多一次到达 1:至少一次到达
Definition: aiot_message_api.h:40
char * rrpc_id
rrpc的消息id
Definition: aiot_message_api.h:50
uint32_t payload_lenth
消息的载体长度
Definition: aiot_message_api.h:36
char * topic
消息的话题,类似于命令字
Definition: aiot_message_api.h:28
aiot_msg_t * aiot_msg_clone(aiot_msg_t *message)
深拷贝消息
aiot_msg_t * aiot_msg_create_rrpc_reply(const aiot_msg_t *message, uint8_t *payload, uint32_t payload_lenth)
生成rrpc回复的消息
描述消息的数据结构
Definition: aiot_message_api.h:24