refactor(session manager): replace dep/list/list.h with sys/queue.h

This commit is contained in:
luwenpeng
2024-09-13 15:44:46 +08:00
parent 244cc88ace
commit e0ecee73b3
5 changed files with 42 additions and 50 deletions

View File

@@ -15,7 +15,7 @@ struct session_table
void *arg;
uint64_t count;
struct list_head lru_queue;
struct session_list lru_list;
};
/******************************************************************************
@@ -93,7 +93,7 @@ struct session_table *session_table_new()
}
table->count = 0;
INIT_LIST_HEAD(&table->lru_queue);
TAILQ_INIT(&table->lru_list);
return table;
}
@@ -106,7 +106,7 @@ void session_table_free(struct session_table *table)
struct session *tmp = NULL;
HASH_ITER(hh1, table->root_tuple6, node, tmp)
{
list_del(&node->lru);
TAILQ_REMOVE(&table->lru_list, node, lru_tqe);
HASH_DELETE(hh1, table->root_tuple6, node);
HASH_DELETE(hh2, table->root_tuple4, node);
HASH_DELETE(hh3, table->root_sessid, node);
@@ -151,7 +151,7 @@ void session_table_add(struct session_table *table, struct session *sess)
HASH_ADD(hh1, table->root_tuple6, tuple, sizeof(struct tuple6), sess);
HASH_ADD(hh2, table->root_tuple4, tuple, sizeof(struct tuple4), sess);
HASH_ADD(hh3, table->root_sessid, id, sizeof(uint64_t), sess);
list_add_tail(&sess->lru, &table->lru_queue);
TAILQ_INSERT_TAIL(&table->lru_list, sess, lru_tqe);
table->count++;
}
@@ -162,10 +162,10 @@ void session_table_del(struct session_table *table, struct session *sess)
return;
}
list_del(&sess->lru);
HASH_DELETE(hh1, table->root_tuple6, sess);
HASH_DELETE(hh2, table->root_tuple4, sess);
HASH_DELETE(hh3, table->root_sessid, sess);
TAILQ_REMOVE(&table->lru_list, sess, lru_tqe);
if (table->free_cb)
{
table->free_cb(sess, table->arg);
@@ -184,8 +184,8 @@ struct session *session_table_find_sessid(struct session_table *table, uint64_t
HASH_FIND(hh3, table->root_sessid, &id, sizeof(uint64_t), sess);
if (sess && !quiet)
{
list_del(&sess->lru);
list_add_tail(&sess->lru, &table->lru_queue);
TAILQ_REMOVE(&table->lru_list, sess, lru_tqe);
TAILQ_INSERT_TAIL(&table->lru_list, sess, lru_tqe);
}
return sess;
@@ -202,8 +202,8 @@ struct session *session_table_find_tuple6(struct session_table *table, const str
HASH_FIND(hh1, table->root_tuple6, tuple, sizeof(struct tuple6), sess);
if (sess && !quiet)
{
list_del(&sess->lru);
list_add_tail(&sess->lru, &table->lru_queue);
TAILQ_REMOVE(&table->lru_list, sess, lru_tqe);
TAILQ_INSERT_TAIL(&table->lru_list, sess, lru_tqe);
}
return sess;
@@ -220,8 +220,8 @@ struct session *session_table_find_tuple4(struct session_table *table, const str
HASH_FIND(hh2, table->root_tuple4, tuple, sizeof(struct tuple4), sess);
if (sess && !quiet)
{
list_del(&sess->lru);
list_add_tail(&sess->lru, &table->lru_queue);
TAILQ_REMOVE(&table->lru_list, sess, lru_tqe);
TAILQ_INSERT_TAIL(&table->lru_list, sess, lru_tqe);
}
return sess;
@@ -234,12 +234,5 @@ struct session *session_table_find_lru(struct session_table *table)
return NULL;
}
if (list_empty(&table->lru_queue))
{
return NULL;
}
else
{
return list_first_entry(&table->lru_queue, struct session, lru);
}
return TAILQ_FIRST(&table->lru_list);
}