diff options
Diffstat (limited to 'src/lua_binding_function.h')
| -rw-r--r-- | src/lua_binding_function.h | 85 |
1 files changed, 32 insertions, 53 deletions
diff --git a/src/lua_binding_function.h b/src/lua_binding_function.h index ba515cc..ffd039e 100644 --- a/src/lua_binding_function.h +++ b/src/lua_binding_function.h @@ -1,53 +1,32 @@ -#include "stellar/stellar.h" -#include "stellar/packet_mq.h" -#include "stellar/session.h" -#include "stellar/session_mq.h" - -#include "lua_plugin_manage_internal.h" - -/* ***** ***** ***** ***** ***** ***** */ -/* 需要注册至lua中供lua调用的所有函数原型 */ -/* 通用函数 */ -int lua_get_worker_thread_num(struct lua_state *state); -int lua_get_current_thread_id(struct lua_state *state); -int lua_get_stellar_pointer(struct lua_state *state); -// int lua_get_plugin_manage_pointer(struct lua_state *state); - -/* 注册函数 */ -int lua_session_plugin_regist(struct lua_state *state); -int lua_packet_plugin_regist(struct lua_state *state); - -/* struct session结构相关的函数 */ -int lua_session_get_type(struct lua_state *state); - -/* packet message mq相关的函数 */ -int lua_packet_mq_create_topic(struct lua_state *state); -int lua_packet_mq_get_topic_id(struct lua_state *state); -int lua_packet_mq_update_topic(struct lua_state *state); -int lua_packet_mq_destory_topic(struct lua_state *state); -int lua_packet_mq_subscribe_topic(struct lua_state *state); -int lua_packet_mq_publish_message(struct lua_state *state); - -/* session message mq相关的函数 */ -int lua_session_mq_create_topic(struct lua_state *state); -int lua_session_mq_get_topic_id(struct lua_state *state); -int lua_session_mq_update_topic(struct lua_state *state); -int lua_session_mq_destory_topic(struct lua_state *state); -int lua_session_mq_subscribe_topic(struct lua_state *state); -int lua_session_mq_publish_message(struct lua_state *state); -int lua_session_mq_topic_is_active(struct lua_state *state); -int lua_session_mq_ignore_message(struct lua_state *state); -int lua_session_mq_unignore_message(struct lua_state *state); - -/* session相关其他函数 */ -int lua_session_get0_current_payload(struct lua_state *state); - -/* ***** ***** ***** ***** ***** ***** */ -/* 此部分为注册至C中的lua通用函数, 实现在lua_plugin_cfunc.c中 */ -void *lpm_ctx_new_func(struct session *sess, void *plugin_env); -void lpm_ctx_free_func(struct session *sess, void *sess_ctx, void *plugin_env); -void lpm_session_message_free_func(struct session *sess, void *msg, void *msg_free_arg); -void lpm_on_session_msg_func(struct session *sess, int topic_id, const void *msg, void *sess_ctx, void *plugin_env); -void lpm_on_packet_func(struct packet *pkt, unsigned char ip_protocol, void *plugin_env); -void lpm_packet_message_free_func(struct packet *pkt, void *msg, void *msg_free_arg); -void lpm_on_packet_msg_func(struct packet *pkt, int topic_id, const void *msg, void *plugin_env);
\ No newline at end of file +#ifndef LUA_MODULE_MANAGE_BINDING_FUNCTION_H +#define LUA_MODULE_MANAGE_BINDING_FUNCTION_H + +#include "lua_module_manage_internal.h" + +int lua_mq_schema_get_topic_id(struct lua_state *state); +int lua_mq_schema_create_topic(struct lua_state *state); +int lua_mq_schema_update_topic(struct lua_state *state); +int lua_mq_shcema_destory_topic(struct lua_state *state); +int lua_mq_schema_subscribe(struct lua_state *state); +int lua_mq_runtime_publish_message(struct lua_state *state); + +int lua_module_manager_get_thread_id(struct lua_state *state); +int lua_module_manager_get_max_thread_num(struct lua_state *state); +int lua_module_manager_get_mq_runtime(struct lua_state *state); +int lua_module_manager_get_mq_schema(struct lua_state *state); +int lua_module_manager_get_logger(struct lua_state *state); + +int lua_packet_get_direction(struct lua_state *state); +int lua_packet_get_payload(struct lua_state *state); +int lua_packet_get_payload_len(struct lua_state *state); + +int lua_packet_manager_subscribe(struct lua_state *state); + +int lua_session_get0_current_packet(struct lua_state *state); + +int lua_session_manager_subscribe_tcp(struct lua_state *state); +int lua_session_manager_subscribe_udp(struct lua_state *state); +int lua_session_manager_subscribe_control_packet(struct lua_state *state); +int lua_session_manager_subscribe_tcp_stream(struct lua_state *state); + +#endif
\ No newline at end of file |
