version 1.2.2.26, 2012/05/05 15:04:29
|
version 1.2.2.28, 2012/05/08 11:45:57
|
Line 39 initSession(int sock, ait_val_t * __restrict v)
|
Line 39 initSession(int sock, ait_val_t * __restrict v)
|
} |
} |
|
|
/* init server actor */ |
/* init server actor */ |
sess->sess_srv = mqtt_srv_Init(sock, sess->sess_buf); | sess->sess_srv = mqtt_srv_Init(sock, sess->sess_buf, sess->sess_ka); |
if (!sess->sess_srv) { |
if (!sess->sess_srv) { |
ioDEBUG(3, "Error:: in srv_Init #%d - %s", mqtt_GetErrno(), mqtt_GetError()); |
ioDEBUG(3, "Error:: in srv_Init #%d - %s", mqtt_GetErrno(), mqtt_GetError()); |
mqtt_msgFree(&sess->sess_buf, 42); |
mqtt_msgFree(&sess->sess_buf, 42); |
Line 153 dispatchSession(sched_task_t *task)
|
Line 153 dispatchSession(sched_task_t *task)
|
do { |
do { |
/* dispatch message type */ |
/* dispatch message type */ |
if ((len = mqtt_srv_Dispatch(sess->sess_srv, ret, sess)) < 0) { |
if ((len = mqtt_srv_Dispatch(sess->sess_srv, ret, sess)) < 0) { |
if (len == -1) | if (len == -1) { |
ioLIBERR(mqtt); |
ioLIBERR(mqtt); |
TAILQ_REMOVE(&Sessions, sess, sess_node); | finiSession(sess); |
finiSession(sess); | } else if (len == -2) { |
| TAILQ_REMOVE(&Sessions, sess, sess_node); |
| finiSession(sess); |
| } else if (len == -3) |
| schedEvent(root, startSession, NULL, (u_long) TASK_FD(task), sess, ret); |
} else |
} else |
ret -= len; |
ret -= len; |
} while (len > 0 && ret > 0); |
} while (len > 0 && ret > 0); |
Line 219 startSession(sched_task_t *task)
|
Line 223 startSession(sched_task_t *task)
|
sess->sess_will.qos = flg.will_qos; |
sess->sess_will.qos = flg.will_qos; |
sess->sess_will.retain = flg.will_retain; |
sess->sess_will.retain = flg.will_retain; |
sess->sess_will.flag = flg.will_flg; |
sess->sess_will.flag = flg.will_flg; |
|
|
|
sess->sess_srv->timeout = sess->sess_ka; |
} |
} |
|
|
/* check online table for user */ |
/* check online table for user */ |