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

@@ -2,12 +2,16 @@
#include <stdlib.h>
#include <assert.h>
#include "log.h"
#include "macro.h"
#include "times.h"
#include "tcp_utils.h"
#include "udp_utils.h"
#include "packet_layer.h"
#include "packet_utils.h"
#include "id_generator.h"
#include "session_def.h"
#include "session_utils.h"
#include "session_pool.h"
#include "session_table.h"
#include "session_timer.h"
@@ -16,6 +20,9 @@
#include "evicted_session_filter.h"
#include "duplicated_packet_filter.h"
#define SESSION_LOG_ERROR(format, ...) LOG_ERROR("session", format, ##__VA_ARGS__)
#define SESSION_LOG_DEBUG(format, ...) LOG_DEBUG("session", format, ##__VA_ARGS__)
struct session_manager
{
struct list_head evicte_queue;
@@ -528,7 +535,7 @@ static void session_update(struct session *sess, enum session_state next_state,
if (session_get_current_state(sess) == SESSION_STATE_INIT)
{
session_set_id(sess, id_generator_alloc());
session_set_tuple(sess, key);
session_set_tuple6(sess, key);
session_set_tuple_direction(sess, dir);
enum packet_direction pkt_dir = packet_get_direction(pkt);