Link Kit C-SDK  4.1.0
| 宏定义 | 类型定义 | 枚举 | 函数
aiot_compress_api.h 文件参考

compress模块头文件, 提供数据压缩/解压缩的能力 更多...

#include <stdint.h>
aiot_compress_api.h 的引用(Include)关系图:

浏览源代码.

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]handlecompress会话句柄
[in]packetcompress消息结构体, 存放收到的compress报文内容
[in]userdata用户上下文
返回
void

枚举类型说明

compress模块收到从网络上来的报文时, 通知用户的报文类型

枚举值
AIOT_COMPRESS_UPDATE_REPLY 

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会话实例, 并以默认值配置会话参数

返回
void *
返回值
非NULLcompress实例的句柄
NULL初始化失败, 一般是内存分配失败导致

函数调用图:

int32_t aiot_compress_setopt ( void *  handle,
aiot_compress_option_t  option,
void *  data 
)

配置compress模块参数

参数
[in]handlecompress会话句柄
[in]option配置选项, 更多信息请参考aiot_compress_option_t
[in]data配置选项数据, 更多信息请参考aiot_compress_option_t
返回
int32_t
返回值
<STATE_SUCCESS参数配置失败
>=STATE_SUCCESS参数配置成功

函数调用图:

int32_t aiot_compress_deinit ( void **  handle)

结束compress会话, 销毁实例并回收资源

参数
[in]handle指向compress会话句柄的指针
返回
int32_t
返回值
<STATE_SUCCESS执行失败
>=STATE_SUCCESS执行成功

函数调用图:

int32_t aiot_compress_topiclist_update ( void *  handle)

同步给云平台,需要压缩/解压缩的topic

参数
[in]handle指向compress会话句柄的指针
返回
int32_t
返回值
<STATE_SUCCESS执行失败
>=STATE_SUCCESS执行成功

函数调用图: