summaryrefslogtreecommitdiff
path: root/test/include/plugin_manager.h
diff options
context:
space:
mode:
authorniubinghui <[email protected]>2024-09-06 18:59:12 +0800
committerniubinghui <[email protected]>2024-09-06 18:59:12 +0800
commitf32a799e7d0ebfea23ba9712965c025ec771510c (patch)
treefe773ac30ef9d3ee815751bf5cfbab9308aee030 /test/include/plugin_manager.h
parent1d9e18762499e652af25b943001bc4fc307f989d (diff)
【修改】修改名称
Diffstat (limited to 'test/include/plugin_manager.h')
-rw-r--r--test/include/plugin_manager.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/include/plugin_manager.h b/test/include/plugin_manager.h
new file mode 100644
index 0000000..cf07167
--- /dev/null
+++ b/test/include/plugin_manager.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#include "stellar/stellar.h"
+
+struct plugin_manager_schema;
+struct plugin_manager_runtime;
+
+struct plugin_manager_schema *plugin_manager_init(struct stellar *st, const char *plugin_spec_file_path);
+void plugin_manager_exit(struct plugin_manager_schema *plug_mgr);
+
+void plugin_manager_on_packet_ingress(struct plugin_manager_schema *plug_mgr, struct packet *pkt);
+void plugin_manager_on_packet_egress(struct plugin_manager_schema *plug_mgr, struct packet *pkt);
+//return polling work state, 0: idle, 1: working
+int plugin_manager_on_polling(struct plugin_manager_schema *plug_mgr);
+
+//publish and dispatch session msg(msg, pkt) on session_mq
+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_closing(struct session *sess);
+
+struct plugin_manager_runtime *plugin_manager_session_runtime_new(struct plugin_manager_schema *plug_mgr, struct session *sess);
+void plugin_manager_session_runtime_free(struct plugin_manager_runtime *plug_mgr_rt);