From 2846142c7c2214ca41045b112cfdf76cb23e3ecc Mon Sep 17 00:00:00 2001 From: yangwei Date: Wed, 4 Sep 2024 14:44:30 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA=20test(lpi=20test=20plugin):=20pub?= =?UTF-8?q?lish=20test=20result=20on=20session=20=20free?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/lpi_plugin/gtest_lpi_plugin.cpp | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/test/lpi_plugin/gtest_lpi_plugin.cpp b/test/lpi_plugin/gtest_lpi_plugin.cpp index fbf4b9c..41478f8 100644 --- a/test/lpi_plugin/gtest_lpi_plugin.cpp +++ b/test/lpi_plugin/gtest_lpi_plugin.cpp @@ -108,8 +108,7 @@ static void publish_session_test_result(struct lpi_test_plugin_env *env, cJSON return; } - - void *lpi_test_ctx_new(struct session *sess, void *plugin_env) +static void gtest_lpi_on_session_free(struct session *sess, void *per_session_ctx, void *plugin_env) { cJSON *ctx =cJSON_CreateObject(); cJSON_AddStringToObject(ctx, "Tuple4", session_get0_readable_addr(sess)); @@ -122,16 +121,7 @@ static void publish_session_test_result(struct lpi_test_plugin_env *env, cJSON { cJSON_AddStringToObject(ctx, "STREAM_TYPE", "UDP"); } - return ctx; -} - -static void gtest_lpi_plugin_on_msg(struct session *sess, int topic_id, const void *msg, void *per_session_ctx, void *plugin_env) -{ - if(session_get_current_state(sess)==SESSION_STATE_CLOSED) - { - publish_session_test_result((struct lpi_test_plugin_env*)plugin_env, (cJSON *)per_session_ctx, sess); - } - return; + publish_session_test_result((struct lpi_test_plugin_env*)plugin_env, ctx, sess); } extern "C" void *gtest_lpi_plugin_load(struct stellar *st) @@ -152,7 +142,7 @@ extern "C" void *gtest_lpi_plugin_load(struct stellar *st) perror("gtest_lpi_plugin_load:l7_protocol_mapper failed !!!\n"); exit(-1); } - env->test_app_plugin_id=stellar_session_plugin_register(st, lpi_test_ctx_new, NULL, env); + env->test_app_plugin_id=stellar_session_plugin_register_with_hook(st, NULL, NULL, NULL, gtest_lpi_on_session_free, env); if(env->test_app_plugin_id < 0) { perror("gtest_lpi_plugin_load:stellar_plugin_register failed !!!\n"); @@ -167,8 +157,6 @@ extern "C" void *gtest_lpi_plugin_load(struct stellar *st) exit(-1); } - stellar_session_mq_subscribe(st, tcp_topic_id, gtest_lpi_plugin_on_msg, env->test_app_plugin_id); - stellar_session_mq_subscribe(st, udp_topic_id, gtest_lpi_plugin_on_msg, env->test_app_plugin_id); env->expect_json_topic_id = stellar_mq_create_topic(st, "EXPECT_JSON", stellar_msg_free_default, NULL); printf("gtest_lpi_plugin_load OK!\n");