🦄 refactor(stellar_module to module): simplify stellar module to module
This commit is contained in:
@@ -9,7 +9,6 @@
|
||||
#include "fieldstat/fieldstat_easy.h"
|
||||
|
||||
#define CLEAN_SESSION_BURST 1024
|
||||
#define SESSION_MANAGER_MODULE_NAME "session_manager_module"
|
||||
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
|
||||
@@ -33,7 +32,7 @@ struct session_manager
|
||||
struct session_manager_sche *sche;
|
||||
struct session_manager_rte *rte[MAX_THREAD_NUM];
|
||||
struct mq_runtime *mq[MAX_THREAD_NUM];
|
||||
struct stellar_module_manager *mod_mgr;
|
||||
struct module_manager *mod_mgr;
|
||||
};
|
||||
|
||||
/******************************************************************************
|
||||
@@ -94,7 +93,7 @@ static void on_sess_msg_free(void *msg, void *args)
|
||||
if (session_get_current_state(sess) == SESSION_STATE_CLOSED)
|
||||
{
|
||||
struct session_manager *sess_mgr = (struct session_manager *)args;
|
||||
int thread_id = stellar_module_manager_get_thread_id(sess_mgr->mod_mgr);
|
||||
int thread_id = module_manager_get_thread_id(sess_mgr->mod_mgr);
|
||||
struct session_manager_rte *sess_mgr_rte = sess_mgr->rte[thread_id];
|
||||
|
||||
char buffer[4096] = {0};
|
||||
@@ -118,7 +117,7 @@ static void on_tcp_payload_msg_free(void *msg, void *args)
|
||||
static void on_packet_forward(struct packet *pkt, enum packet_stage stage, void *args)
|
||||
{
|
||||
struct session_manager *sess_mgr = (struct session_manager *)args;
|
||||
int thread_id = stellar_module_manager_get_thread_id(sess_mgr->mod_mgr);
|
||||
int thread_id = module_manager_get_thread_id(sess_mgr->mod_mgr);
|
||||
struct mq_runtime *mq_rte = sess_mgr->mq[thread_id];
|
||||
struct session_manager_rte *sess_mgr_rte = sess_mgr->rte[thread_id];
|
||||
|
||||
@@ -209,7 +208,7 @@ fast_path:
|
||||
static void on_packet_output(struct packet *pkt, enum packet_stage stage, void *args)
|
||||
{
|
||||
struct session_manager *sess_mgr = (struct session_manager *)args;
|
||||
int thread_id = stellar_module_manager_get_thread_id(sess_mgr->mod_mgr);
|
||||
int thread_id = module_manager_get_thread_id(sess_mgr->mod_mgr);
|
||||
struct session_manager_rte *sess_mgr_rte = sess_mgr->rte[thread_id];
|
||||
|
||||
struct session *sess = (struct session *)packet_get_exdata(pkt, sess_mgr->sche->pkt_ex_id);
|
||||
@@ -254,11 +253,11 @@ static void on_packet_output(struct packet *pkt, enum packet_stage stage, void *
|
||||
}
|
||||
}
|
||||
|
||||
static void on_polling(struct stellar_module_manager *mod_mgr, void *args)
|
||||
static void on_polling(struct module_manager *mod_mgr, void *args)
|
||||
{
|
||||
uint64_t now_ms = clock_get_real_time_ms();
|
||||
struct session_manager *sess_mgr = (struct session_manager *)args;
|
||||
int thread_id = stellar_module_manager_get_thread_id(mod_mgr);
|
||||
int thread_id = module_manager_get_thread_id(mod_mgr);
|
||||
struct session_manager_rte *sess_mgr_rte = sess_mgr->rte[thread_id];
|
||||
struct session_manager_stat *sess_mgr_stat = session_manager_rte_get_stat(sess_mgr_rte);
|
||||
|
||||
@@ -523,25 +522,22 @@ void session_manager_clean(struct session_manager *sess_mgr, uint16_t thread_id)
|
||||
* session manager module
|
||||
******************************************************************************/
|
||||
|
||||
struct session_manager *stellar_module_get_session_manager(struct stellar_module_manager *mod_mgr)
|
||||
struct session_manager *module_to_session_manager(struct module *mod)
|
||||
{
|
||||
assert(mod_mgr);
|
||||
struct stellar_module *sess_mgr_mod = stellar_module_manager_get_module(mod_mgr, SESSION_MANAGER_MODULE_NAME);
|
||||
if (sess_mgr_mod == NULL)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
return stellar_module_get_ctx(sess_mgr_mod);
|
||||
assert(mod);
|
||||
assert(strcmp(module_get_name(mod), SESSION_MANAGER_MODULE_NAME) == 0);
|
||||
return module_get_ctx(mod);
|
||||
}
|
||||
|
||||
struct stellar_module *session_manager_on_init(struct stellar_module_manager *mod_mgr)
|
||||
struct module *session_manager_on_init(struct module_manager *mod_mgr)
|
||||
{
|
||||
assert(mod_mgr);
|
||||
struct packet_manager *pkt_mgr = stellar_module_get_packet_manager(mod_mgr);
|
||||
struct module *pkt_mgr_mod= module_manager_get_module(mod_mgr, PACKET_MANAGER_MODULE_NAME);
|
||||
struct packet_manager *pkt_mgr = module_to_packet_manager(pkt_mgr_mod);
|
||||
assert(pkt_mgr);
|
||||
struct mq_schema *mq_sche = stellar_module_manager_get_mq_schema(mod_mgr);
|
||||
struct mq_schema *mq_sche = module_manager_get_mq_schema(mod_mgr);
|
||||
assert(mq_sche);
|
||||
const char *toml_file = stellar_module_manager_get_toml_path(mod_mgr);
|
||||
const char *toml_file = module_manager_get_toml_path(mod_mgr);
|
||||
assert(toml_file);
|
||||
|
||||
struct session_manager *sess_mgr = session_manager_new(pkt_mgr, mq_sche, toml_file);
|
||||
@@ -549,37 +545,37 @@ struct stellar_module *session_manager_on_init(struct stellar_module_manager *mo
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
stellar_module_manager_polling_subscribe(mod_mgr, on_polling, sess_mgr);
|
||||
module_manager_polling_subscribe(mod_mgr, on_polling, sess_mgr);
|
||||
|
||||
struct stellar_module *sess_mgr_mod = stellar_module_new(SESSION_MANAGER_MODULE_NAME, NULL);
|
||||
struct module *sess_mgr_mod = module_new(SESSION_MANAGER_MODULE_NAME, NULL);
|
||||
if (sess_mgr_mod == NULL)
|
||||
{
|
||||
SESSION_MANAGER_LOG_ERROR("failed to create session_manager");
|
||||
session_manager_free(sess_mgr);
|
||||
return NULL;
|
||||
}
|
||||
stellar_module_set_ctx(sess_mgr_mod, sess_mgr);
|
||||
module_set_ctx(sess_mgr_mod, sess_mgr);
|
||||
|
||||
SESSION_MANAGER_LOG_FATAL("session_manager init");
|
||||
return sess_mgr_mod;
|
||||
}
|
||||
|
||||
void session_manager_on_exit(struct stellar_module_manager *mod_mgr, struct stellar_module *mod)
|
||||
void session_manager_on_exit(struct module_manager *mod_mgr, struct module *mod)
|
||||
{
|
||||
if (mod)
|
||||
{
|
||||
struct session_manager *sess_mgr = stellar_module_get_ctx(mod);
|
||||
struct session_manager *sess_mgr = module_get_ctx(mod);
|
||||
session_manager_free(sess_mgr);
|
||||
stellar_module_free(mod);
|
||||
module_free(mod);
|
||||
SESSION_MANAGER_LOG_FATAL("session_manager exit");
|
||||
}
|
||||
}
|
||||
|
||||
struct stellar_module *session_manager_on_thread_init(struct stellar_module_manager *mod_mgr, int thread_id, struct stellar_module *mod)
|
||||
struct module *session_manager_on_thread_init(struct module_manager *mod_mgr, int thread_id, struct module *mod)
|
||||
{
|
||||
struct session_manager *sess_mgr = stellar_module_get_ctx(mod);
|
||||
struct session_manager *sess_mgr = module_get_ctx(mod);
|
||||
assert(sess_mgr);
|
||||
struct mq_runtime *mq_rte = stellar_module_manager_get_mq_runtime(mod_mgr);
|
||||
struct mq_runtime *mq_rte = module_manager_get_mq_runtime(mod_mgr);
|
||||
assert(mq_rte);
|
||||
|
||||
if (session_manager_init(sess_mgr, thread_id, mq_rte) != 0)
|
||||
@@ -593,9 +589,9 @@ struct stellar_module *session_manager_on_thread_init(struct stellar_module_mana
|
||||
}
|
||||
}
|
||||
|
||||
void session_manager_on_thread_exit(struct stellar_module_manager *mod_mgr, int thread_id, struct stellar_module *mod)
|
||||
void session_manager_on_thread_exit(struct module_manager *mod_mgr, int thread_id, struct module *mod)
|
||||
{
|
||||
struct session_manager *sess_mgr = stellar_module_get_ctx(mod);
|
||||
struct session_manager *sess_mgr = module_get_ctx(mod);
|
||||
assert(sess_mgr);
|
||||
session_manager_clean(sess_mgr, thread_id);
|
||||
}
|
||||
Reference in New Issue
Block a user