version 1.1.2.3, 2011/12/09 09:53:54
|
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; |
|
|
int sess_sock; | /* client network settings */ |
io_sockaddr_t sess_addr; | int sess_sock; |
struct timeval sess_ka; | u_short 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 *topic; |
char *msg; | 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 sessions_t Sessions; |
|
extern sched_root_task_t *root; |
|
extern sl_config cfg; |
|
|
|
|
#endif |
#endif |