Add session manager

This commit is contained in:
luwenpeng
2023-12-13 19:20:34 +08:00
parent 1aecef82d6
commit 5620ac211b
8 changed files with 320 additions and 32 deletions

View File

@@ -3,7 +3,7 @@
#include "session_timer.h"
#include "session_private.h"
static void session_expire(struct session *sess)
static void session_expire(struct session *sess, void *arg)
{
printf("=== session %lu expired ===\n", session_get_id(sess));
}
@@ -16,7 +16,7 @@ TEST(SESSION_TIMER, ADD_DEL)
session_init(&sess);
session_set_id(&sess, 1);
session_set_expirecb(&sess, session_expire, 1000);
session_set_expirecb(&sess, session_expire, NULL, 1000);
session_timer_add_session(timer, &sess);
session_timer_del_session(timer, &sess);
@@ -39,9 +39,9 @@ TEST(SESSION_TIMER, EXPIRE)
session_set_id(&sess1, 1);
session_set_id(&sess2, 2);
session_set_id(&sess3, 3);
session_set_expirecb(&sess1, session_expire, 5);
session_set_expirecb(&sess2, session_expire, 5);
session_set_expirecb(&sess3, session_expire, 10);
session_set_expirecb(&sess1, session_expire, NULL, 5);
session_set_expirecb(&sess2, session_expire, NULL, 5);
session_set_expirecb(&sess3, session_expire, NULL, 10);
session_timer_add_session(timer, &sess1);
session_timer_add_session(timer, &sess2);
@@ -78,9 +78,9 @@ TEST(SESSION_TIMER, BEFORE_EXPIRE_DEL)
session_set_id(&sess1, 1);
session_set_id(&sess2, 2);
session_set_id(&sess3, 3);
session_set_expirecb(&sess1, session_expire, 5);
session_set_expirecb(&sess2, session_expire, 5);
session_set_expirecb(&sess3, session_expire, 10);
session_set_expirecb(&sess1, session_expire, NULL, 5);
session_set_expirecb(&sess2, session_expire, NULL, 5);
session_set_expirecb(&sess3, session_expire, NULL, 10);
session_timer_add_session(timer, &sess1);
session_timer_add_session(timer, &sess2);
@@ -122,9 +122,9 @@ TEST(SESSION_TIMER, BEFORE_EXPIRE_UPDATE)
session_set_id(&sess1, 1);
session_set_id(&sess2, 2);
session_set_id(&sess3, 3);
session_set_expirecb(&sess1, session_expire, 5);
session_set_expirecb(&sess2, session_expire, 5);
session_set_expirecb(&sess3, session_expire, 10);
session_set_expirecb(&sess1, session_expire, NULL, 5);
session_set_expirecb(&sess2, session_expire, NULL, 5);
session_set_expirecb(&sess3, session_expire, NULL, 10);
session_timer_add_session(timer, &sess1);
session_timer_add_session(timer, &sess2);
@@ -137,7 +137,7 @@ TEST(SESSION_TIMER, BEFORE_EXPIRE_UPDATE)
{
printf("update timer 2\n");
session_timer_del_session(timer, &sess2);
session_set_expirecb(&sess2, session_expire, 8);
session_set_expirecb(&sess2, session_expire, NULL, 8);
session_timer_add_session(timer, &sess2);
}
do