update session table add/del API
This commit is contained in:
@@ -567,13 +567,13 @@ static void session_manager_evicte_session(struct session_manager *mgr, struct s
|
||||
{
|
||||
case SESSION_TYPE_TCP:
|
||||
SESSION_LOG_DEBUG("evicte tcp old session: %lu", session_get_id(sess));
|
||||
session_table_del(mgr->tcp_sess_table, session_get_tuple(sess));
|
||||
session_table_del(mgr->tcp_sess_table, sess);
|
||||
SESS_MGR_STAT_UPDATE(&mgr->stat, curr_state, next_state, tcp);
|
||||
mgr->stat.nr_tcp_sess_evicted++;
|
||||
break;
|
||||
case SESSION_TYPE_UDP:
|
||||
SESSION_LOG_DEBUG("evicte udp old session: %lu", session_get_id(sess));
|
||||
session_table_del(mgr->udp_sess_table, session_get_tuple(sess));
|
||||
session_table_del(mgr->udp_sess_table, sess);
|
||||
if (mgr->opts.evicted_session_filter_enable)
|
||||
{
|
||||
evicted_session_filter_add(mgr->evicte_sess_filter, session_get_tuple(sess), now);
|
||||
@@ -629,7 +629,7 @@ static struct session *session_manager_new_tcp_session(struct session_manager *m
|
||||
|
||||
uint64_t timeout = (flags & TH_ACK) ? mgr->opts.tcp_handshake_timeout : mgr->opts.tcp_init_timeout;
|
||||
session_timer_update(mgr->sess_timer, sess, now + timeout);
|
||||
session_table_add(mgr->tcp_sess_table, key, sess);
|
||||
session_table_add(mgr->tcp_sess_table, sess);
|
||||
|
||||
if (mgr->opts.duplicated_packet_filter_enable)
|
||||
{
|
||||
@@ -666,7 +666,7 @@ static struct session *session_manager_new_udp_session(struct session_manager *m
|
||||
session_transition_log(sess, SESSION_STATE_INIT, next_state, UDP_DATA);
|
||||
|
||||
session_timer_update(mgr->sess_timer, sess, now + mgr->opts.udp_data_timeout);
|
||||
session_table_add(mgr->udp_sess_table, key, sess);
|
||||
session_table_add(mgr->udp_sess_table, sess);
|
||||
|
||||
SESS_MGR_STAT_INC(&mgr->stat, next_state, udp);
|
||||
mgr->stat.nr_udp_sess_used++;
|
||||
@@ -918,12 +918,18 @@ void session_manager_free_session(struct session_manager *mgr, struct session *s
|
||||
{
|
||||
case SESSION_TYPE_TCP:
|
||||
tcp_clean(mgr, sess);
|
||||
session_table_del(mgr->tcp_sess_table, session_get_tuple(sess));
|
||||
if (session_table_find_sessid(mgr->tcp_sess_table, session_get_id(sess)) == sess)
|
||||
{
|
||||
session_table_del(mgr->tcp_sess_table, sess);
|
||||
}
|
||||
SESS_MGR_STAT_DEC(&mgr->stat, session_get_state(sess), tcp);
|
||||
mgr->stat.nr_tcp_sess_used--;
|
||||
break;
|
||||
case SESSION_TYPE_UDP:
|
||||
session_table_del(mgr->udp_sess_table, session_get_tuple(sess));
|
||||
if (session_table_find_sessid(mgr->udp_sess_table, session_get_id(sess)) == sess)
|
||||
{
|
||||
session_table_del(mgr->udp_sess_table, sess);
|
||||
}
|
||||
SESS_MGR_STAT_DEC(&mgr->stat, session_get_state(sess), udp);
|
||||
mgr->stat.nr_udp_sess_used--;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user