diff --git a/src/packet_io/packet_io.cpp b/src/packet_io/packet_io.cpp index c9d9d94..5fa2472 100644 --- a/src/packet_io/packet_io.cpp +++ b/src/packet_io/packet_io.cpp @@ -88,11 +88,6 @@ void packet_io_free(struct packet_io *handle) } } -struct packet_io_stat *packet_io_get_stat(struct packet_io *handle) -{ - return (struct packet_io_stat *)handle->on_stat(handle->handle); -} - void packet_io_print_stat(struct packet_io *handle) { struct packet_io_stat *stat = packet_io_get_stat(handle); @@ -104,6 +99,11 @@ void packet_io_print_stat(struct packet_io *handle) PACKET_IO_LOG_DEBUG("keepalive_pkts : %lu, keepalive_bytes : %lu", stat->keepalive_pkts, stat->keepalive_bytes); } +struct packet_io_stat *packet_io_get_stat(struct packet_io *handle) +{ + return (struct packet_io_stat *)handle->on_stat(handle->handle); +} + int packet_io_init(struct packet_io *handle, uint16_t thread_id) { return handle->on_init(handle->handle, thread_id); diff --git a/src/packet_io/packet_io.h b/src/packet_io/packet_io.h index 27685a5..46d28b1 100644 --- a/src/packet_io/packet_io.h +++ b/src/packet_io/packet_io.h @@ -55,8 +55,8 @@ struct packet_io_config struct packet_io; struct packet_io *packet_io_new(struct packet_io_config *config); void packet_io_free(struct packet_io *handle); -struct packet_io_stat *packet_io_get_stat(struct packet_io *handle); void packet_io_print_stat(struct packet_io *handle); +struct packet_io_stat *packet_io_get_stat(struct packet_io *handle); // return 0 if success, -1 if failed int packet_io_init(struct packet_io *handle, uint16_t thread_id); diff --git a/src/session/session_manager.cpp b/src/session/session_manager.cpp index 5a6637e..d82fb1b 100644 --- a/src/session/session_manager.cpp +++ b/src/session/session_manager.cpp @@ -1258,25 +1258,7 @@ uint64_t session_manager_get_expire_interval(struct session_manager *mgr) return session_timer_next_expire_interval(mgr->sess_timer); } -void session_manager_get_session_counter(struct session_manager *mgr, struct session_counter *out) -{ - out->tcp_sess_num = mgr->tcp_sess_num; - out->tcp_opening_sess_num = mgr->tcp_opening_sess_num; - out->tcp_active_sess_num = mgr->tcp_active_sess_num; - out->tcp_closing_sess_num = mgr->tcp_closing_sess_num; - - out->udp_sess_num = mgr->udp_sess_num; - out->udp_opening_sess_num = mgr->udp_opening_sess_num; - out->udp_active_sess_num = mgr->udp_active_sess_num; - out->udp_closing_sess_num = mgr->udp_closing_sess_num; - - out->tcp_overload_evict_old_sess_num = mgr->tcp_overload_evict_old_sess_num; - out->tcp_overload_evict_new_sess_num = mgr->tcp_overload_evict_new_sess_num; - out->udp_overload_evict_old_sess_num = mgr->udp_overload_evict_old_sess_num; - out->udp_overload_evict_new_sess_num = mgr->udp_overload_evict_new_sess_num; -} - -void session_manager_print_status(struct session_manager *mgr) +void session_manager_print_stat(struct session_manager *mgr) { printf("session manager status:\n"); @@ -1303,4 +1285,22 @@ void session_manager_print_status(struct session_manager *mgr) printf(" hit tcp discard : %lu (drop)\n", mgr->npkts_hit_tcp_discard); printf(" hit udp evicted : %lu (bypass)\n", mgr->npkts_hit_udp_evicted); -} \ No newline at end of file +} + +void session_manager_get_stat(struct session_manager *mgr, struct session_manager_stat *out) +{ + out->tcp_sess_num = mgr->tcp_sess_num; + out->tcp_opening_sess_num = mgr->tcp_opening_sess_num; + out->tcp_active_sess_num = mgr->tcp_active_sess_num; + out->tcp_closing_sess_num = mgr->tcp_closing_sess_num; + + out->udp_sess_num = mgr->udp_sess_num; + out->udp_opening_sess_num = mgr->udp_opening_sess_num; + out->udp_active_sess_num = mgr->udp_active_sess_num; + out->udp_closing_sess_num = mgr->udp_closing_sess_num; + + out->tcp_overload_evict_old_sess_num = mgr->tcp_overload_evict_old_sess_num; + out->tcp_overload_evict_new_sess_num = mgr->tcp_overload_evict_new_sess_num; + out->udp_overload_evict_old_sess_num = mgr->udp_overload_evict_old_sess_num; + out->udp_overload_evict_new_sess_num = mgr->udp_overload_evict_new_sess_num; +} diff --git a/src/session/session_manager.h b/src/session/session_manager.h index b8c7ec3..74d2e68 100644 --- a/src/session/session_manager.h +++ b/src/session/session_manager.h @@ -68,7 +68,7 @@ struct session *session_manager_get_evicted_session(struct session_manager *mgr) // return >0: next expire interval uint64_t session_manager_get_expire_interval(struct session_manager *mgr); -struct session_counter +struct session_manager_stat { uint64_t tcp_sess_num; uint64_t tcp_opening_sess_num; @@ -86,8 +86,8 @@ struct session_counter uint64_t udp_overload_evict_new_sess_num; }; -void session_manager_get_session_counter(struct session_manager *mgr, struct session_counter *out); -void session_manager_print_status(struct session_manager *mgr); +void session_manager_print_stat(struct session_manager *mgr); +void session_manager_get_stat(struct session_manager *mgr, struct session_manager_stat *out); #ifdef __cpluscplus } diff --git a/src/session/test/gtest_overload_evict_tcp_sess.cpp b/src/session/test/gtest_overload_evict_tcp_sess.cpp index 9268d4e..3203a0f 100644 --- a/src/session/test/gtest_overload_evict_tcp_sess.cpp +++ b/src/session/test/gtest_overload_evict_tcp_sess.cpp @@ -35,7 +35,7 @@ TEST(OVERLOAD, EVICT_TCP_OLD_SESS) EXPECT_TRUE(sess); __session_dispatch(sess); - session_manager_print_status(mgr); + session_manager_print_stat(mgr); if (i == config.max_tcp_session_num - 1) { @@ -67,14 +67,14 @@ TEST(OVERLOAD, EVICT_TCP_OLD_SESS) packet_get_innermost_tuple6(&pkt, &key); EXPECT_TRUE(tuple6_cmp(session_get0_key(sess), &key) == 0); __session_dispatch(sess); - session_manager_print_status(mgr); + session_manager_print_stat(mgr); printf("\n====================== expired session ======================\n\n"); __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); printf("\n====================== end status ======================\n\n"); - session_manager_print_status(mgr); + session_manager_print_stat(mgr); __session_manager_check_counter(mgr, 0, 0, 0, // tcp_opening_sess_num, tcp_active_sess_num, tcp_closing_sess_num, 0, 0, 0, // udp_opening_sess_num, udp_active_sess_num, udp_closing_sess_num, @@ -131,7 +131,7 @@ TEST(OVERLOAD, EVICT_TCP_NEW_SESS) } __session_dispatch(sess); - session_manager_print_status(mgr); + session_manager_print_stat(mgr); } printf("\n====================== expired session ======================\n\n"); @@ -139,7 +139,7 @@ TEST(OVERLOAD, EVICT_TCP_NEW_SESS) __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); printf("\n====================== end status ======================\n\n"); - session_manager_print_status(mgr); + session_manager_print_stat(mgr); __session_manager_check_counter(mgr, 0, 0, 0, // tcp_opening_sess_num, tcp_active_sess_num, tcp_closing_sess_num, 0, 0, 0, // udp_opening_sess_num, udp_active_sess_num, udp_closing_sess_num, diff --git a/src/session/test/gtest_overload_evict_udp_sess.cpp b/src/session/test/gtest_overload_evict_udp_sess.cpp index b4b32c5..bdd2b75 100644 --- a/src/session/test/gtest_overload_evict_udp_sess.cpp +++ b/src/session/test/gtest_overload_evict_udp_sess.cpp @@ -35,7 +35,7 @@ TEST(OVERLOAD, EVICT_UDP_OLD_SESS) EXPECT_TRUE(sess); __session_dispatch(sess); - session_manager_print_status(mgr); + session_manager_print_stat(mgr); if (i == config.max_udp_session_num - 1) { @@ -67,14 +67,14 @@ TEST(OVERLOAD, EVICT_UDP_OLD_SESS) packet_get_innermost_tuple6(&pkt, &key); EXPECT_TRUE(tuple6_cmp(session_get0_key(sess), &key) == 0); __session_dispatch(sess); - session_manager_print_status(mgr); + session_manager_print_stat(mgr); printf("\n====================== expired session ======================\n\n"); __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); printf("\n====================== end status ======================\n\n"); - session_manager_print_status(mgr); + session_manager_print_stat(mgr); __session_manager_check_counter(mgr, 0, 0, 0, // tcp_opening_sess_num, tcp_active_sess_num, tcp_closing_sess_num, 0, 0, 0, // udp_opening_sess_num, udp_active_sess_num, udp_closing_sess_num, @@ -131,7 +131,7 @@ TEST(OVERLOAD, EVICT_UDP_NEW_SESS) } __session_dispatch(sess); - session_manager_print_status(mgr); + session_manager_print_stat(mgr); } printf("\n====================== expired session ======================\n\n"); @@ -139,7 +139,7 @@ TEST(OVERLOAD, EVICT_UDP_NEW_SESS) __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); printf("\n====================== end status ======================\n\n"); - session_manager_print_status(mgr); + session_manager_print_stat(mgr); __session_manager_check_counter(mgr, 0, 0, 0, // tcp_opening_sess_num, tcp_active_sess_num, tcp_closing_sess_num, 0, 0, 0, // udp_opening_sess_num, udp_active_sess_num, udp_closing_sess_num, diff --git a/src/session/test/test_utils.h b/src/session/test/test_utils.h index a19e716..d64e7af 100644 --- a/src/session/test/test_utils.h +++ b/src/session/test/test_utils.h @@ -93,8 +93,8 @@ __attribute__((unused)) static void __session_manager_check_counter(struct sessi uint64_t tcp_overload_evict_new_sess_num, uint64_t tcp_overload_evict_old_sess_num, uint64_t udp_overload_evict_new_sess_num, uint64_t udp_overload_evict_old_sess_num) { - struct session_counter counter; - session_manager_get_session_counter(mgr, &counter); + struct session_manager_stat counter; + session_manager_get_stat(mgr, &counter); EXPECT_TRUE(counter.tcp_sess_num == tcp_opening_sess_num + tcp_active_sess_num + tcp_closing_sess_num); EXPECT_TRUE(counter.tcp_opening_sess_num == tcp_opening_sess_num);