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");