|
|
| version 1.2.2.4, 2012/04/11 16:37:16 | version 1.2.2.5, 2012/04/24 08:06:08 |
|---|---|
| Line 43 struct tagSession { | Line 43 struct tagSession { |
| } sess_will; | } sess_will; |
| /* Data Storage by QoS class */ | /* Data Storage by QoS class */ |
| SLIST_HEAD(tStore, tagStore) sess_txque[3]; | SLIST_HEAD(tStore, tagStore) sess_txque[MQTT_QOS_RESERVED]; |
| TAILQ_ENTRY(tagSession) sess_node; | TAILQ_ENTRY(tagSession) sess_node; |
| }; | }; |
| typedef TAILQ_HEAD(, tagSession) sessions_t; | typedef TAILQ_HEAD(, tagSession) sessions_t; |
| #define SESS_ELEM_LOCK(x) pthread_mutex_lock(&(x)->sess_mtx) | #define SESS_ELEM_LOCK(x) pthread_mutex_lock(&(x)->sess_mtx) |
| #define SESS_ELEM_UNLOCK(x) pthread_mutex_unlock(&(x)->sess_mtx) | #define SESS_ELEM_UNLOCK(x) pthread_mutex_unlock(&(x)->sess_mtx) |
| #define SESS_LOCK pthread_mutex_lock(&mtx_sess) | |
| #define SESS_UNLOCK pthread_mutex_unlock(&mtx_sess) | |
| struct tagPub { | |
| ait_val_t pub_name; | |
| mqtt_msg_t pub_packet; | |
| TAILQ_ENTRY(tagPub) pub_node; | |
| }; | |
| typedef TAILQ_HEAD(, tagPub) pubs_t; | |
| #define PUB_LOCK pthread_mutex_lock(&mtx_pub) | |
| #define PUB_UNLOCK pthread_mutex_unlock(&mtx_pub) | |
| extern sessions_t Sessions; | extern sessions_t Sessions; |
| extern pubs_t Pubs; | |
| extern sched_root_task_t *root; | extern sched_root_task_t *root; |
| extern cfg_root_t cfg; | extern cfg_root_t cfg; |
| extern pthread_mutex_t mtx_sess, mtx_pub; | extern pthread_mutex_t mtx_sess, mtx_pub; |
| #define SESS_LOCK pthread_mutex_lock(&mtx_sess) | |
| #define SESS_UNLOCK pthread_mutex_unlock(&mtx_sess) | |
| #define PUB_LOCK pthread_mutex_lock(&mtx_pub) | |
| #define PUB_UNLOCK pthread_mutex_unlock(&mtx_pub) | |
| #endif | #endif |