add tcp active -> closing test case
This commit is contained in:
@@ -107,7 +107,10 @@ static void tcp_init_timeout_cb(struct session *sess, void *arg)
|
||||
struct session_manager *mgr = (struct session_manager *)arg;
|
||||
assert(mgr != NULL);
|
||||
|
||||
session_set_closing_reasion(sess, CLOSING_BY_TIMEOUT);
|
||||
if (session_get_closing_reasion(sess) == 0)
|
||||
{
|
||||
session_set_closing_reasion(sess, CLOSING_BY_TIMEOUT);
|
||||
}
|
||||
session_manager_update_tcp_to_closing(mgr, sess, 1);
|
||||
}
|
||||
|
||||
@@ -117,7 +120,10 @@ static void tcp_handshake_timeout_cb(struct session *sess, void *arg)
|
||||
struct session_manager *mgr = (struct session_manager *)arg;
|
||||
assert(mgr != NULL);
|
||||
|
||||
session_set_closing_reasion(sess, CLOSING_BY_TIMEOUT);
|
||||
if (session_get_closing_reasion(sess) == 0)
|
||||
{
|
||||
session_set_closing_reasion(sess, CLOSING_BY_TIMEOUT);
|
||||
}
|
||||
session_manager_update_tcp_to_closing(mgr, sess, 1);
|
||||
}
|
||||
|
||||
@@ -127,7 +133,10 @@ static void tcp_data_timeout_cb(struct session *sess, void *arg)
|
||||
struct session_manager *mgr = (struct session_manager *)arg;
|
||||
assert(mgr != NULL);
|
||||
|
||||
session_set_closing_reasion(sess, CLOSING_BY_TIMEOUT);
|
||||
if (session_get_closing_reasion(sess) == 0)
|
||||
{
|
||||
session_set_closing_reasion(sess, CLOSING_BY_TIMEOUT);
|
||||
}
|
||||
session_manager_update_tcp_to_closing(mgr, sess, 1);
|
||||
}
|
||||
|
||||
@@ -137,7 +146,10 @@ static void tcp_half_closed_timeout_cb(struct session *sess, void *arg)
|
||||
struct session_manager *mgr = (struct session_manager *)arg;
|
||||
assert(mgr != NULL);
|
||||
|
||||
session_set_closing_reasion(sess, CLOSING_BY_TIMEOUT);
|
||||
if (session_get_closing_reasion(sess) == 0)
|
||||
{
|
||||
session_set_closing_reasion(sess, CLOSING_BY_TIMEOUT);
|
||||
}
|
||||
session_manager_update_tcp_to_closing(mgr, sess, 1);
|
||||
}
|
||||
|
||||
@@ -156,7 +168,10 @@ static void udp_data_timeout_cb(struct session *sess, void *arg)
|
||||
struct session_manager *mgr = (struct session_manager *)arg;
|
||||
assert(mgr != NULL);
|
||||
|
||||
session_set_closing_reasion(sess, CLOSING_BY_TIMEOUT);
|
||||
if (session_get_closing_reasion(sess) == 0)
|
||||
{
|
||||
session_set_closing_reasion(sess, CLOSING_BY_TIMEOUT);
|
||||
}
|
||||
session_manager_update_udp_to_closing(mgr, sess);
|
||||
}
|
||||
|
||||
@@ -734,7 +749,7 @@ static void session_manager_handle_tcp_on_opening(struct session_manager *mgr, s
|
||||
static void session_manager_handle_tcp_on_active(struct session_manager *mgr, struct session *sess, enum tcp_state tcp_old_state, enum tcp_state tcp_curr_state)
|
||||
{
|
||||
// active -> closing
|
||||
if ((tcp_curr_state & TCP_C2S_FIN_RECVED) && (tcp_curr_state | TCP_S2C_FIN_RECVED))
|
||||
if ((tcp_curr_state & TCP_C2S_FIN_RECVED) && (tcp_curr_state & TCP_S2C_FIN_RECVED))
|
||||
{
|
||||
SESSION_LOG_DEBUG("TCP FIN-FIN received, session %lu active -> closing", session_get_id(sess));
|
||||
session_manager_update_tcp_to_closing(mgr, sess, 1);
|
||||
|
||||
Reference in New Issue
Block a user