|
|
| version 1.1.2.2, 2011/12/08 17:02:25 | version 1.1.2.4, 2011/12/09 13:43:55 |
|---|---|
| Line 2 | Line 2 |
| #define __MQTTD_H | #define __MQTTD_H |
| struct tagStore { | |
| char st_qos; | |
| u_short st_msgid; | |
| mqtt_subscr_t st_subscr; | |
| SLIST_ENTRY(tagStore) st_node; | |
| }; | |
| struct tagSession { | struct tagSession { |
| pthread_t sess_tid; | /* client session thread id */ |
| mqtt_msg_t *sess_buf; | pthread_t sess_tid; |
| io_sockaddr_t sess_addr; | /* client network settings */ |
| struct timeval sess_ka; | int sess_sock; |
| u_short sess_ka; | |
| /* client send retry in miliseconds, if client not receive message */ | |
| u_int sess_retry; | |
| /* message work buffer */ | |
| mqtt_msg_t *sess_buf; | |
| char sess_cid[MAX_CONNID]; | /* authentication user info */ |
| char sess_user[MAX_CRED]; | char sess_cid[MAX_CONNID]; |
| char sess_pass[MAX_CRED]; | char sess_user[MAX_CRED]; |
| char sess_pass[MAX_CRED]; | |
| char sess_addr[64]; | |
| char clear; | /* connect flags */ |
| char sess_clean; | |
| struct { | struct { |
| char flag; | char flag; |
| char qos; | char qos; |
| char retain; | char retain; |
| char *topic; | |
| char *msg; | |
| } sess_will; | } sess_will; |
| TAILQ_ENTRY(tagSession) sess_node; | /* Data Storage by QoS class */ |
| SLIST_HEAD(qosStore, tagStore) sess_store[MQTT_QOS_RESERVED]; | |
| TAILQ_ENTRY(tagSession) sess_node; | |
| }; | }; |
| typedef TAILQ_HEAD(, tagSession) sessions_t; | typedef TAILQ_HEAD(, tagSession) sessions_t; |
| extern sessions_t Sessions; | |
| extern sched_root_task_t *root; | |
| extern sl_config cfg; | |
| #endif | #endif |