1. 程式人生 > >Mosquitto-1.5.4原始碼,主題訂閱的資料結構

Mosquitto-1.5.4原始碼,主題訂閱的資料結構

/src/database.c

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 = NULL;
	db->contexts_for_free = NULL;
#ifdef WITH_BRIDGE
	db->bridges = NULL;
	db->bridge_count = 0;
#endif

	// Initialize the hashtable
	db->clientid_index_hash = NULL;

	db->subs = NULL;

    subhier = sub__add_hier_entry(NULL, &db->subs, "", strlen(""));//業務子樹根節點
	if(!subhier) return MOSQ_ERR_NOMEM;

    subhier = sub__add_hier_entry(NULL, &db->subs, "$SYS", strlen("$SYS"));//系統子樹根節點
	if(!subhier) return MOSQ_ERR_NOMEM;