refactor(session manager): turning the session manager into a stellar module

This commit is contained in:
luwenpeng
2024-09-20 16:56:05 +08:00
parent 620019cf8e
commit 94f1913e3e
20 changed files with 1944 additions and 1507 deletions

View File

@@ -1,5 +1,6 @@
#include "stellar/exdata.h"
#include "session_internal.h"
#include "session_manager.h"
#include "session_manager_runtime.h"
void session_init(struct session *sess)
{
@@ -208,6 +209,7 @@ struct tcp_segment *session_get_tcp_segment(struct session *sess)
{
sess->sess_mgr_stat->tcp_segs_consumed++;
half->in_order_ref++;
half->in_order.user_data = sess;
return &half->in_order;
}
else
@@ -221,6 +223,7 @@ struct tcp_segment *session_get_tcp_segment(struct session *sess)
// TODO
sess->sess_mgr_stat->tcp_segs_consumed++;
sess->sess_mgr_stat->tcp_segs_reordered++;
seg->user_data = sess;
}
return seg;
}
@@ -461,3 +464,15 @@ void session_print(const struct session *sess)
session_to_str(sess, 0, buff, sizeof(buff));
printf("%s\n", buff);
}
void session_set_exdata(struct session *sess, int idx, void *ex_ptr)
{
struct exdata_runtime *rte = (struct exdata_runtime *)session_get_user_data(sess);
exdata_set(rte, idx, ex_ptr);
}
void *session_get_exdata(const struct session *sess, int idx)
{
struct exdata_runtime *rte = (struct exdata_runtime *)session_get_user_data(sess);
return exdata_get(rte, idx);
}