🐞 fix(plugin manager api): enhanced parameter check

This commit is contained in:
yangwei
2024-08-08 15:35:29 +08:00
committed by luwenpeng
parent 2d408b3503
commit f89fc8fc69

View File

@@ -895,7 +895,7 @@ int stellar_packet_plugin_register(struct stellar *st, unsigned char ip_proto, p
void plugin_manager_on_packet_ingress(struct plugin_manager_schema *plug_mgr, struct packet *pkt)
{
if(plug_mgr->registered_packet_plugin_array == NULL || pkt == NULL)return;
if(plug_mgr==NULL || plug_mgr->registered_packet_plugin_array == NULL || pkt == NULL)return;
struct registered_packet_plugin_schema *p=NULL;
//TODO: get innermost layer ip protocol by packet api
@@ -919,7 +919,7 @@ void plugin_manager_on_packet_ingress(struct plugin_manager_schema *plug_mgr, st
void plugin_manager_on_packet_egress(struct plugin_manager_schema *plug_mgr, struct packet *pkt)
{
if(plug_mgr->registered_packet_plugin_array == NULL || pkt == NULL)return;
if(plug_mgr == NULL || plug_mgr->registered_packet_plugin_array == NULL || pkt == NULL)return;
int tid=stellar_get_current_thread_index();
stellar_mq_dispatch(plug_mgr->per_thread_data[tid].priority_mq, &plug_mgr->per_thread_data[tid].dealth_letter_queue, NULL, pkt);
plug_mgr->per_thread_data[tid].pub_packet_msg_cnt=-1;//disable packet message publish
@@ -950,7 +950,7 @@ int stellar_polling_plugin_register(struct stellar *st, plugin_on_polling_func o
int plugin_manager_on_polling(struct plugin_manager_schema *plug_mgr)
{
if(plug_mgr->registered_polling_plugin_array == NULL)return 0;
if(plug_mgr==NULL || plug_mgr->registered_polling_plugin_array == NULL)return 0;
struct registered_polling_plugin_schema *p=NULL;
int polling_state=0;
while ((p = (struct registered_polling_plugin_schema *)utarray_next(plug_mgr->registered_polling_plugin_array, p)))
@@ -992,6 +992,7 @@ int stellar_session_plugin_register(struct stellar *st,
void plugin_manager_on_session_ingress(struct session *sess, struct packet *pkt)
{
if(sess==NULL)return;
struct plugin_manager_runtime *plug_mgr_rt = (struct plugin_manager_runtime *)session_get_user_data(sess);
if(plug_mgr_rt==NULL)return;
#if 0
@@ -1062,6 +1063,7 @@ void plugin_manager_on_session_ingress(struct session *sess, struct packet *pkt)
void plugin_manager_on_session_egress(struct session *sess, struct packet *pkt)
{
if(sess==NULL)return;
struct plugin_manager_runtime *plug_mgr_rt = (struct plugin_manager_runtime *)session_get_user_data(sess);
if(plug_mgr_rt==NULL)return;
plugin_manager_scratch_session_set(sess);
@@ -1076,6 +1078,7 @@ void plugin_manager_on_session_egress(struct session *sess, struct packet *pkt)
void plugin_manager_on_session_closing(struct session *sess)
{
if(sess==NULL)return;
struct plugin_manager_runtime *plug_mgr_rt = (struct plugin_manager_runtime *)session_get_user_data(sess);
if(plug_mgr_rt==NULL)return;
plug_mgr_rt->pub_session_msg_cnt=0;// reset pub_msg_cnt