Add stellar thread cycle

This commit is contained in:
luwenpeng
2024-01-09 18:03:24 +08:00
parent 6fda3e9ddb
commit 37f4680dbc
12 changed files with 535 additions and 311 deletions

View File

@@ -63,21 +63,21 @@ TEST(SESSION, EX_SET_GET)
EXPECT_TRUE(session_get0_ex_data(&sess, idx) == (void *)0x1234);
}
TEST(SESSION, EX_FREE_BY_RESET_NULL)
TEST(SESSION, EX_FREE_BY_RESET)
{
struct session sess;
memset(&sess, 0, sizeof(sess));
uint8_t idx = session_get_ex_new_index("ex_free_by_reset_null", free_ex_data, NULL);
uint8_t idx = session_get_ex_new_index("ex_free_by_reset", free_ex_data, NULL);
char *ptr = strdup("hello");
session_set_ex_data(&sess, idx, ptr);
session_set_ex_data(&sess, idx, NULL);
}
TEST(SESSION, EX_FREE_BY_CALL_API)
TEST(SESSION, EX_FREE_BY_CB)
{
struct session sess;
memset(&sess, 0, sizeof(sess));
uint8_t idx = session_get_ex_new_index("ex_free_by_call_api", free_ex_data, NULL);
uint8_t idx = session_get_ex_new_index("ex_free_by_cb", free_ex_data, NULL);
char *ptr = strdup("hello");
session_set_ex_data(&sess, idx, ptr);
session_free_ex_data(&sess, idx);

View File

@@ -94,12 +94,12 @@ TEST(SESSION_MANAGER, INIT_TO_OPENING_BY_SYN)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == TCP_SYN_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
session_manager_dispatch(mgr, sess);
for (int i = 0; i < 4; i++)
@@ -110,12 +110,12 @@ TEST(SESSION_MANAGER, INIT_TO_OPENING_BY_SYN)
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);
@@ -170,12 +170,12 @@ TEST(SESSION_MANAGER, INIT_TO_OPENING_BY_SYNACK)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == TCP_SYNACK_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
session_manager_dispatch(mgr, sess);
for (int i = 0; i < 4; i++)
@@ -186,12 +186,12 @@ TEST(SESSION_MANAGER, INIT_TO_OPENING_BY_SYNACK)
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);
@@ -250,12 +250,12 @@ TEST(SESSION_MANAGER, INIT_TO_ACTIVE_BY_UDP_C2S)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, udp_builtin_ex) == UDP_C2S_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 1);
session_manager_dispatch(mgr, sess);
for (int i = 0; i < 4; i++)
@@ -266,12 +266,12 @@ TEST(SESSION_MANAGER, INIT_TO_ACTIVE_BY_UDP_C2S)
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);
@@ -326,12 +326,12 @@ TEST(SESSION_MANAGER, INIT_TO_ACTIVE_BY_UDP_S2C)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, udp_builtin_ex) == UDP_S2C_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 1);
session_manager_dispatch(mgr, sess);
for (int i = 0; i < 4; i++)
@@ -342,12 +342,12 @@ TEST(SESSION_MANAGER, INIT_TO_ACTIVE_BY_UDP_S2C)
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);
@@ -413,12 +413,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_C2S_PAYLOAD)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == TCP_SYN_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer SYN Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -451,12 +451,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_C2S_PAYLOAD)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_C2S_PAYLOAD_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer C2S Payload Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -474,12 +474,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_C2S_PAYLOAD)
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);
@@ -541,12 +541,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_S2C_PAYLOAD)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == TCP_SYN_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer SYN Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -579,12 +579,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_S2C_PAYLOAD)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_S2C_PAYLOAD_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer C2S Payload Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -601,12 +601,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_S2C_PAYLOAD)
sleep(1);
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);
@@ -667,12 +667,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYNACK_AND_C2S_PAYLOAD)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == TCP_SYNACK_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer SYNACK Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -705,12 +705,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYNACK_AND_C2S_PAYLOAD)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYNACK_RECVED | TCP_C2S_PAYLOAD_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer C2S Payload Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -728,12 +728,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYNACK_AND_C2S_PAYLOAD)
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);
@@ -794,12 +794,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYNACK_AND_S2C_PAYLOAD)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == TCP_SYNACK_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer SYNACK Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -832,12 +832,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYNACK_AND_S2C_PAYLOAD)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYNACK_RECVED | TCP_S2C_PAYLOAD_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer S2C Payload Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -855,12 +855,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYNACK_AND_S2C_PAYLOAD)
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);
@@ -926,12 +926,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_SYNACK_AND_ACK_AND_C2S_PAYLOA
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == TCP_SYN_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer SYN Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -964,12 +964,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_SYNACK_AND_ACK_AND_C2S_PAYLOA
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer SYNACK Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1002,12 +1002,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_SYNACK_AND_ACK_AND_C2S_PAYLOA
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer ACK Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1040,12 +1040,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_SYNACK_AND_ACK_AND_C2S_PAYLOA
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_PAYLOAD_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer C2S TCP Payload Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1062,12 +1062,12 @@ TEST(SESSION_MANAGER, OPENING_TO_ACTIVE_BY_SYN_AND_SYNACK_AND_ACK_AND_C2S_PAYLOA
sleep(1);
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);
@@ -1229,12 +1229,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == TCP_SYN_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer SYN Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1267,12 +1267,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer SYNACK Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1305,12 +1305,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer ACK Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1343,12 +1343,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_PAYLOAD_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer C2S HTTP Req Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1381,12 +1381,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_PAYLOAD_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer S2C Ack Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1419,12 +1419,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_PAYLOAD_RECVED | TCP_S2C_PAYLOAD_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer S2C HTTP Resp Packet1 <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1457,12 +1457,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_PAYLOAD_RECVED | TCP_S2C_PAYLOAD_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer S2C HTTP Resp Packet2 <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1495,12 +1495,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_PAYLOAD_RECVED | TCP_S2C_PAYLOAD_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer C2S Ack Packet2 <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1533,12 +1533,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_PAYLOAD_RECVED | TCP_S2C_PAYLOAD_RECVED | TCP_C2S_FIN_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer C2S FIN Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1571,12 +1571,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_PAYLOAD_RECVED | TCP_S2C_PAYLOAD_RECVED | TCP_C2S_FIN_RECVED | TCP_S2C_FIN_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer C2S FIN Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1609,12 +1609,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, tcp_builtin_ex) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_PAYLOAD_RECVED | TCP_S2C_PAYLOAD_RECVED | TCP_C2S_FIN_RECVED | TCP_S2C_FIN_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
printf("\n===> Atfer C2S ACK Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1632,12 +1632,12 @@ TEST(SESSION_MANAGER, TCP_FULL_STREAM)
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);
@@ -1698,12 +1698,12 @@ TEST(SESSION_MANAGER, UDP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, udp_builtin_ex) == UDP_C2S_RECVED);
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 1);
printf("\n===> Atfer UDP c2s Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1736,12 +1736,12 @@ TEST(SESSION_MANAGER, UDP_FULL_STREAM)
EXPECT_TRUE((uint64_t)session_get0_ex_data(sess, udp_builtin_ex) == (UDP_C2S_RECVED | UDP_S2C_RECVED));
// check session manager info
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 1);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 1);
printf("\n===> Atfer UDP c2s Packet <=== \n\n");
session_manager_dispatch(mgr, sess);
@@ -1758,12 +1758,12 @@ TEST(SESSION_MANAGER, UDP_FULL_STREAM)
}
// check sess mgr
EXPECT_TRUE(session_manager_get_tcp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_tcp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_opening_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_closing_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_udp_active_sess_num(mgr) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == 0);
EXPECT_TRUE(session_manager_get_sessions(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == 0);
// destory
session_manager_destroy(mgr);