简介: Mosquitto-1.5.4源码分析,主题订阅的数据结构及SUBSCRIBE的函数跳转关系 1.4.x之前的版本可以参考博客,使用的是树来实现:mosquito从版本1.5.x开始,主题订阅的数据结构有变化。采用哈希表来存储。每一层都有一个哈希表来存储。/src/database.c这里初始化了两个主题,一个是业务主题“”,为空;另一个是系统...
函数sub__add_hier_entry很重要,新增哈希key-value都靠它来实现。 int db__open(struct mosquitto__config *config, struct mosquitto_db *db){struct mosquitto__subhier *subhier;if(!config || !db) return MOSQ_ERR_INVAL;db->last_db_id = 0;db->contexts_by_id = NULL;db->contexts_by_sock ...