version 1.1.2.6, 2012/01/24 10:18:44
|
version 1.2.2.4, 2012/04/11 16:37:16
|
Line 14 struct tagStore {
|
Line 14 struct tagStore {
|
struct tagSession { |
struct tagSession { |
/* client session thread id */ |
/* client session thread id */ |
pthread_t sess_tid; |
pthread_t sess_tid; |
|
pthread_mutex_t sess_mtx; |
|
/* server dispatcher */ |
|
mqtt_srv_t *sess_srv; |
|
|
/* client network settings */ |
/* client network settings */ |
int sess_sock; |
int sess_sock; |
Line 40 struct tagSession {
|
Line 43 struct tagSession {
|
} sess_will; |
} sess_will; |
|
|
/* Data Storage by QoS class */ |
/* Data Storage by QoS class */ |
SLIST_HEAD(qosStore, tagStore) sess_sndqueue; | SLIST_HEAD(tStore, tagStore) sess_txque[3]; |
| |
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) |
|
|
|
|
extern sessions_t Sessions; |
extern sessions_t Sessions; |
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; |
|
#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 |