version 1.2.2.2, 2012/01/30 13:39:22
|
version 1.2.2.6, 2012/04/24 13:54:50
|
Line 8 struct tagStore {
|
Line 8 struct tagStore {
|
|
|
mqtt_subscr_t st_subscr; |
mqtt_subscr_t st_subscr; |
|
|
TAILQ_ENTRY(tagStore) st_node; | SLIST_ENTRY(tagStore) st_node; |
}; |
}; |
|
|
struct tagSession { |
struct tagSession { |
Line 42 struct tagSession {
|
Line 42 struct tagSession {
|
char *msg; |
char *msg; |
} sess_will; |
} sess_will; |
|
|
/* Data Storage by QoS class */ | /* session scheduler */ |
TAILQ_HEAD(qosStore, tagStore) sess_sndqueue; | sched_root_task_t *sess_root; |
|
|
|
/* session subscriptions */ |
|
SLIST_HEAD(tStore, tagStore) sess_subscr; |
|
|
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_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 PUBS_LOCK pthread_mutex_lock(&mtx_pub) |
|
#define PUBS_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 sl_config cfg; | extern cfg_root_t cfg; |
extern pthread_mutex_t mtx_sess, mtx_pub; |
extern pthread_mutex_t mtx_sess, mtx_pub; |
|
|
|
|