🐞 fix(plugin manager api): enhanced parameter check
This commit is contained in:
@@ -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)
|
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;
|
struct registered_packet_plugin_schema *p=NULL;
|
||||||
|
|
||||||
//TODO: get innermost layer ip protocol by packet api
|
//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)
|
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();
|
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);
|
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
|
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)
|
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;
|
struct registered_polling_plugin_schema *p=NULL;
|
||||||
int polling_state=0;
|
int polling_state=0;
|
||||||
while ((p = (struct registered_polling_plugin_schema *)utarray_next(plug_mgr->registered_polling_plugin_array, p)))
|
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)
|
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);
|
struct plugin_manager_runtime *plug_mgr_rt = (struct plugin_manager_runtime *)session_get_user_data(sess);
|
||||||
if(plug_mgr_rt==NULL)return;
|
if(plug_mgr_rt==NULL)return;
|
||||||
#if 0
|
#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)
|
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);
|
struct plugin_manager_runtime *plug_mgr_rt = (struct plugin_manager_runtime *)session_get_user_data(sess);
|
||||||
if(plug_mgr_rt==NULL)return;
|
if(plug_mgr_rt==NULL)return;
|
||||||
plugin_manager_scratch_session_set(sess);
|
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)
|
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);
|
struct plugin_manager_runtime *plug_mgr_rt = (struct plugin_manager_runtime *)session_get_user_data(sess);
|
||||||
if(plug_mgr_rt==NULL)return;
|
if(plug_mgr_rt==NULL)return;
|
||||||
plug_mgr_rt->pub_session_msg_cnt=0;// reset pub_msg_cnt
|
plug_mgr_rt->pub_session_msg_cnt=0;// reset pub_msg_cnt
|
||||||
|
|||||||
Reference in New Issue
Block a user