✨ feat(module manager): add thread_init and thread_exit API
This commit is contained in:
@@ -20,21 +20,25 @@ void stellar_module_set_name(struct stellar_module* mod, const char *name);
|
||||
|
||||
struct stellar_module_manager;
|
||||
|
||||
typedef struct stellar_module *module_on_init_func(struct stellar_module_manager *mod_mgr);
|
||||
typedef void module_on_exit_func(struct stellar_module_manager *mod_mgr, struct stellar_module *mod);
|
||||
typedef struct stellar_module *module_on_instance_init_func(struct stellar_module_manager *mod_mgr);
|
||||
typedef void module_on_instance_exit_func(struct stellar_module_manager *mod_mgr, struct stellar_module *mod);
|
||||
|
||||
typedef struct stellar_module *module_on_thread_init_func(struct stellar_module_manager *mod_mgr, int thread_id, struct stellar_module *mod);
|
||||
typedef void module_on_thread_exit_func(struct stellar_module_manager *mod_mgr, int thread_id, struct stellar_module *mod);
|
||||
|
||||
struct stellar_module_manager *stellar_module_manager_new(const char *module_spec_toml_path, int max_thread_num, struct mq_schema *mq_schema, struct logger *logger);
|
||||
void stellar_module_manager_free(struct stellar_module_manager *mod_mgr);
|
||||
|
||||
void stellar_module_manager_register_thread(struct stellar_module_manager* mod_mgr, int thread_id, struct mq_runtime *mq_rt);
|
||||
void stellar_module_manager_register_thread(struct stellar_module_manager *mod_mgr, int thread_id, struct mq_runtime *mq_rt);
|
||||
void stellar_module_manager_unregister_thread(struct stellar_module_manager *mod_mgr, int thread_id);
|
||||
|
||||
// return -1 on error
|
||||
int stellar_module_manager_get_thread_id(struct stellar_module_manager* mod_mgr);
|
||||
int stellar_module_manager_get_thread_id(struct stellar_module_manager *mod_mgr);
|
||||
struct mq_runtime *stellar_module_manager_get_mq_runtime(struct stellar_module_manager *mod_mgr);
|
||||
|
||||
struct stellar_module *stellar_module_manager_get_module(struct stellar_module_manager *mod_mgr, const char *module_name);
|
||||
|
||||
int stellar_module_manager_get_max_thread_num(struct stellar_module_manager* mod_mgr);
|
||||
int stellar_module_manager_get_max_thread_num(struct stellar_module_manager *mod_mgr);
|
||||
const char *stellar_module_manager_get_toml_path(struct stellar_module_manager *mod_mgr);
|
||||
struct mq_schema *stellar_module_manager_get_mq_schema(struct stellar_module_manager *mod_mgr);
|
||||
struct logger *stellar_module_manager_get_logger(struct stellar_module_manager *mod_mgr);
|
||||
|
||||
Reference in New Issue
Block a user