--- mqtt/inc/mqttd.h 2011/12/14 12:45:30 1.1.2.5 +++ mqtt/inc/mqttd.h 2012/01/27 16:19:04 1.2.2.1 @@ -8,12 +8,14 @@ struct tagStore { mqtt_subscr_t st_subscr; - SLIST_ENTRY(tagStore) st_node; + TAILQ_ENTRY(tagStore) st_node; }; struct tagSession { /* client session thread id */ pthread_t sess_tid; + /* server dispatcher */ + mqtt_srv_t *sess_srv; /* client network settings */ int sess_sock; @@ -40,18 +42,17 @@ struct tagSession { } sess_will; /* Data Storage by QoS class */ - SLIST_HEAD(qosStore, tagStore) sess_store[MQTT_QOS_RESERVED]; + TAILQ_HEAD(qosStore, tagStore) sess_sndqueue; TAILQ_ENTRY(tagSession) sess_node; }; - typedef TAILQ_HEAD(, tagSession) sessions_t; extern sessions_t Sessions; extern sched_root_task_t *root; extern sl_config cfg; -extern pthread_mutex_t mtx_sess; +extern pthread_mutex_t mtx_sess, mtx_pub; #endif