Link Kit C-SDK
4.1.0
|
compress模块头文件, 提供数据压缩/解压缩的能力 更多...
#include <stdint.h>
类 | |
struct | aiot_compress_recv_t |
compress模块收到从网络上来的报文时, 通知用户的报文内容 更多... | |
宏定义 | |
#define | STATE_COMPRESS_BASE (-0x2200) |
-0x2200~-0x22FF表达SDK在compress模块内的状态码 更多... | |
#define | STATE_COMPRESS_LEVEL_INVALID (-0x2201) |
设置的压缩等级超出范围,范围:1~9 更多... | |
#define | STATE_COMPRESS_COMPR_FAILED (-0x2202) |
压缩内部错误,压缩失败 更多... | |
#define | STATE_COMPRESS_DECOMPR_FAILED (-0x2203) |
解压缩内部错误,解压缩失败 更多... | |
#define | STATE_COMPRESS_APPEND_REPEATED (-0x2204) |
重复添加需要压缩/解压缩的topic 更多... | |
类型定义 | |
typedef void(* | aiot_compress_recv_handler_t) (void *handle, const aiot_compress_recv_t *packet, void *userdata) |
compress模块收到从网络上来的报文时, 通知用户所调用的数据回调函数 更多... | |
枚举 | |
enum | aiot_compress_recv_type_t { AIOT_COMPRESS_UPDATE_REPLY } |
compress模块收到从网络上来的报文时, 通知用户的报文类型 更多... | |
enum | aiot_compress_option_t { AIOT_COMPRESSOPT_MQTT_HANDLE, AIOT_COMPRESSOPT_LEVEL, AIOT_COMPRESSOPT_APPEND_COMPR_TOPIC, AIOT_COMPRESSOPT_APPEND_DECOMPR_TOPIC, AIOT_COMPRESSOPT_RECV_HANDLER, AIOT_COMPRESSOPT_USERDATA, AIOT_COMPRESSOPT_MAX } |
aiot_compress_setopt 接口的option参数可选值. 更多... | |
函数 | |
void * | aiot_compress_init (void) |
创建compress会话实例, 并以默认值配置会话参数 更多... | |
int32_t | aiot_compress_setopt (void *handle, aiot_compress_option_t option, void *data) |
配置compress模块参数 更多... | |
int32_t | aiot_compress_deinit (void **handle) |
结束compress会话, 销毁实例并回收资源 更多... | |
int32_t | aiot_compress_topiclist_update (void *handle) |
同步给云平台,需要压缩/解压缩的topic 更多... | |
compress模块头文件, 提供数据压缩/解压缩的能力
#define STATE_COMPRESS_BASE (-0x2200) |
-0x2200~-0x22FF表达SDK在compress模块内的状态码
#define STATE_COMPRESS_LEVEL_INVALID (-0x2201) |
设置的压缩等级超出范围,范围:1~9
#define STATE_COMPRESS_COMPR_FAILED (-0x2202) |
压缩内部错误,压缩失败
#define STATE_COMPRESS_DECOMPR_FAILED (-0x2203) |
解压缩内部错误,解压缩失败
#define STATE_COMPRESS_APPEND_REPEATED (-0x2204) |
重复添加需要压缩/解压缩的topic
typedef void(* aiot_compress_recv_handler_t) (void *handle, const aiot_compress_recv_t *packet, void *userdata) |
compress模块收到从网络上来的报文时, 通知用户所调用的数据回调函数
[in] | handle | compress会话句柄 |
[in] | packet | compress消息结构体, 存放收到的compress报文内容 |
[in] | userdata | 用户上下文 |
aiot_compress_setopt 接口的option参数可选值.
下文每个选项中的数据类型, 指的是aiot_compress_setopt 中, data参数的数据类型
枚举值 | |
---|---|
AIOT_COMPRESSOPT_MQTT_HANDLE |
模块依赖的MQTT句柄,为该MQTT句柄连接提供压缩能力 data-model模块依赖底层的MQTT模块, 用户必需配置正确的MQTT句柄, 否则无法正常工作 数据类型: (void *) |
AIOT_COMPRESSOPT_LEVEL |
压缩等级设置,等级越高压缩率越高,消耗的内存和时间也更多 默认等级为1,支持1~9,2~9需要的内存大幅增加 数据类型: (uint8_t *) |
AIOT_COMPRESSOPT_APPEND_COMPR_TOPIC |
添加上行消息中,需要压缩的topic 数据类型: (char *) |
AIOT_COMPRESSOPT_APPEND_DECOMPR_TOPIC |
添加下行消息中,需要解压缩的topic 数据类型: (char *) |
AIOT_COMPRESSOPT_RECV_HANDLER |
设置回调, 它在SDK收到网络报文的时候被调用, 告知用户 数据类型: ( aiot_compress_recv_handler_t ) |
AIOT_COMPRESSOPT_USERDATA |
用户需要SDK暂存的上下文 这个上下文指针会在 AIOT_COMPRESSOPT_RECV_HANDLER 和 AIOT_COMPRESSOPT_EVENT_HANDLER 设置的回调被调用时, 由SDK传给用户 数据类型: (void *) |
AIOT_COMPRESSOPT_MAX |
void* aiot_compress_init | ( | void | ) |
创建compress会话实例, 并以默认值配置会话参数
非NULL | compress实例的句柄 |
NULL | 初始化失败, 一般是内存分配失败导致 |
int32_t aiot_compress_setopt | ( | void * | handle, |
aiot_compress_option_t | option, | ||
void * | data | ||
) |
配置compress模块参数
[in] | handle | compress会话句柄 |
[in] | option | 配置选项, 更多信息请参考aiot_compress_option_t |
[in] | data | 配置选项数据, 更多信息请参考aiot_compress_option_t |
<STATE_SUCCESS | 参数配置失败 |
>=STATE_SUCCESS | 参数配置成功 |
int32_t aiot_compress_deinit | ( | void ** | handle | ) |
结束compress会话, 销毁实例并回收资源
[in] | handle | 指向compress会话句柄的指针 |
<STATE_SUCCESS | 执行失败 |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_compress_topiclist_update | ( | void * | handle | ) |
同步给云平台,需要压缩/解压缩的topic
[in] | handle | 指向compress会话句柄的指针 |
<STATE_SUCCESS | 执行失败 |
>=STATE_SUCCESS | 执行成功 |