mosquitto源码分析(5)

2019-03-05 22:56

它主要完成对参数config的各结构体成员的初始化工作。

(2) mqtt3_config_cleanup

该函数的声明为:

void mqtt3_config_cleanup(struct mqtt3_config *config)

它主要完成对参数config的各成员的清除、释放等操作。

(3) mqtt3_config_read

该函数的声明为:

int mqtt3_config_read(struct mqtt3_config *config, bool reload)

它主要完成从配置文件中读取各配置参数到结构体config中,具体的配置文件读取工作由函数_config_read_file完成。

(4) mqtt3_config_parse_args

该函数的声明为:

int mqtt3_config_parse_args(struct mqtt3_config *config, intargc, char *argv[])

它主要完成对用户输出参数的解析工作。

Mosquitto的配置文件内部共提供对整形、布尔类型,字符串三种类型的解析函数,这三个解析函数只共内部调用,分别是:_conf_parse_bool、_conf_parse_int、_conf_parse_string。

4.3、内存操作的封装

Mosquitto对内存操作的封装代码主要在文件mosquitto-1.2/src/memory_mosq.c中实现,共实现了对常用的内存申请与释放相关的系统调用函数,共有:_mosquitto_calloc函数是对系统函数calloc的封装,_mosquitto_malloc函数对系统函数malloc的封装,_mosquitto_realloc函数对系统函数realloc的封装,_mosquitto_free函数对系统函数free的封装,_mosquitto_strdup函数对系统函数strdup的封装。在上述封装函数中如果文件中定义了宏REAL_WITH_MEMORY_TRACKING,则这些封装函数只是对系统函数进行封装,不做任何额外操作。如果定义了REAL_WITH_MEMORY_TRACKING宏,则会在内存申请和释放时分别记录所申请或释放内存的大小。


mosquitto源码分析(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年三年级数学下册期末复习巩固与提高 位置与方向

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: