refactor: session module (split to define/utils/pool/table/timer/transition/manager)

This commit is contained in:
luwenpeng
2024-06-25 10:32:51 +08:00
parent 71422ebb36
commit 076b3c7b0b
55 changed files with 342 additions and 227 deletions

View File

@@ -1,9 +1,12 @@
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "session_priv.h"
#include "session_utils.h"
#include "session_manager.h"
#include "tcp_reassembly.h"
struct session_manager_options opts = {
// max session number

View File

@@ -1,9 +1,11 @@
#include <gtest/gtest.h>
#include "session_priv.h"
#include "session_manager.h"
#include "ipv4_utils.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,10 +1,12 @@
#include <gtest/gtest.h>
#include "session_priv.h"
#include "session_manager.h"
#include "macro.h"
#include "ipv4_utils.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,10 +1,12 @@
#include <gtest/gtest.h>
#include "session_priv.h"
#include "session_manager.h"
#include "macro.h"
#include "ipv4_utils.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,9 +1,12 @@
#include <gtest/gtest.h>
#include "session_priv.h"
#include "session_manager.h"
#include "ipv4_utils.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "tcp_reassembly.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,6 +1,7 @@
#include <gtest/gtest.h>
#include "session_priv.h"
#include "session_def.h"
#include "session_utils.h"
#define SESSION_KEY_IPV4_TCP(name) \
struct tuple6 name; \
@@ -57,7 +58,7 @@ TEST(SESSION, EX_NEW_INDEX)
TEST(SESSION, EX_SET_GET)
{
struct session sess;
memset(&sess, 0, sizeof(sess));
session_init(&sess);
uint8_t idx = session_get_ex_new_index("ex_set_get", NULL, NULL);
session_set_ex_data(&sess, idx, (void *)0x1234);
EXPECT_TRUE(session_get0_ex_data(&sess, idx) == (void *)0x1234);
@@ -66,7 +67,7 @@ TEST(SESSION, EX_SET_GET)
TEST(SESSION, EX_FREE_BY_RESET)
{
struct session sess;
memset(&sess, 0, sizeof(sess));
session_init(&sess);
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);
@@ -76,7 +77,7 @@ TEST(SESSION, EX_FREE_BY_RESET)
TEST(SESSION, EX_FREE_BY_CB)
{
struct session sess;
memset(&sess, 0, sizeof(sess));
session_init(&sess);
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);

View File

@@ -1,5 +1,7 @@
#include <gtest/gtest.h>
#include "tuple.h"
#include "session_utils.h"
#include "session_pool.h"
#include "session_table.h"
@@ -112,17 +114,17 @@ TEST(SESSION_TABLE, OP_SESSION)
sess1 = session_pool_pop(sess_pool);
EXPECT_TRUE(sess1 != NULL);
session_set_id(sess1, 1);
session_set_tuple(sess1, &sess1_tup6);
session_set_tuple6(sess1, &sess1_tup6);
sess2 = session_pool_pop(sess_pool);
EXPECT_TRUE(sess2 != NULL);
session_set_id(sess2, 2);
session_set_tuple(sess2, &sess2_tup6);
session_set_tuple6(sess2, &sess2_tup6);
sess3 = session_pool_pop(sess_pool);
EXPECT_TRUE(sess3 != NULL);
session_set_id(sess3, 3);
session_set_tuple(sess3, &sess3_tup6);
session_set_tuple6(sess3, &sess3_tup6);
session_table_add(sess_table, sess1);
EXPECT_TRUE(session_table_get_count(sess_table) == 1);
@@ -206,21 +208,21 @@ TEST(SESSION_TABLE, FIND_OLDEST_NEWEST)
sess1 = session_pool_pop(sess_pool);
EXPECT_TRUE(sess1 != NULL);
session_set_id(sess1, 1);
session_set_tuple(sess1, &sess1_tup6);
session_set_tuple6(sess1, &sess1_tup6);
session_table_add(sess_table, sess1);
EXPECT_TRUE(session_table_find_lru(sess_table) == sess1);
sess2 = session_pool_pop(sess_pool);
EXPECT_TRUE(sess2 != NULL);
session_set_id(sess2, 2);
session_set_tuple(sess2, &sess2_tup6);
session_set_tuple6(sess2, &sess2_tup6);
session_table_add(sess_table, sess2);
EXPECT_TRUE(session_table_find_lru(sess_table) == sess1);
sess3 = session_pool_pop(sess_pool);
EXPECT_TRUE(sess3 != NULL);
session_set_id(sess3, 3);
session_set_tuple(sess3, &sess3_tup6);
session_set_tuple6(sess3, &sess3_tup6);
session_table_add(sess_table, sess3);
EXPECT_TRUE(session_table_find_lru(sess_table) == sess1);

View File

@@ -1,5 +1,7 @@
#include <gtest/gtest.h>
#include "session_def.h"
#include "session_utils.h"
#include "session_timer.h"
TEST(SESSION_TIMER, EXPIRE)

View File

@@ -1,11 +1,14 @@
// TCP state machine test: active -> closing
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "session_manager.h"
#include "tcp_utils.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,11 +1,14 @@
// TCP state machine test: init -> opening
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "session_manager.h"
#include "ipv4_utils.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,10 +1,13 @@
// TCP state machine test: init -> opening -> active -> closing -> closed
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,10 +1,13 @@
// TCP state machine test: opening -> active
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,11 +1,14 @@
// TCP state machine test: opening -> closing
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "session_manager.h"
#include "tcp_utils.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,10 +1,13 @@
// UDP state machine test: init -> opening -> active -> closing
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,10 +1,13 @@
// UDP state machine test: init -> opening -> closing
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,9 +1,12 @@
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,10 +1,12 @@
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "ipv4_utils.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,10 +1,12 @@
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "ipv4_utils.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -1,9 +1,12 @@
#include <gtest/gtest.h>
#include "tuple.h"
#include "times.h"
#include "session_priv.h"
#include "packet_def.h"
#include "packet_parse.h"
#include "packet_layer.h"
#include "session_utils.h"
#include "session_manager.h"
#include "test_packets.h"
struct session_manager_options opts = {

View File

@@ -5,9 +5,6 @@ extern "C"
{
#endif
#include "packet_parse.h"
#include "packet_layer.h"
/******************************************************************************
* test packet: HTTP www.example.com
******************************************************************************/