From 8c7d80dfcf1e5c3c80672a2fd17cf6fdc7b969d1 Mon Sep 17 00:00:00 2001 From: jiangliuwei Date: Mon, 21 Apr 2025 10:55:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AEinit=5Fdata=5Fplugin=5Fmanage?= =?UTF-8?q?r=E4=B8=BApublic=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/basic_example.rs | 32 ++++++++++++++++---------------- src/cores/mod.rs | 21 ++++++++++++++++++++- 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/examples/basic_example.rs b/examples/basic_example.rs index 3e76016..3356963 100644 --- a/examples/basic_example.rs +++ b/examples/basic_example.rs @@ -2,7 +2,7 @@ use env_logger::{Builder, Target}; use fleet_apiserver::utils::test::TestServerStartParams; use fleet_apiserver::cores::handlers::datamgr::{datamgr_api, DATA_PLUGIN_MANAGER}; use std::ffi::CString; - +use fleet_apiserver::cores::init_data_plugin_manager; const TCP_ADDRESS: &str = "0.0.0.0:38080"; const UDP_ADDRESS: &str = "0.0.0.0:38081"; @@ -28,18 +28,18 @@ async fn main() { std::process::exit(0) } -fn init_data_plugin_manager() { - unsafe { - if DATA_PLUGIN_MANAGER.is_null() { - DATA_PLUGIN_MANAGER = datamgr_api::NewPluginManager(); - let plugin_to_load_key = CString::new("core.pluginsToLoad").unwrap(); - let plugin_to_load_value = CString::new("Messaging Storage Portal").unwrap(); - datamgr_api::SetParameter( - DATA_PLUGIN_MANAGER, - plugin_to_load_key.as_ptr(), - plugin_to_load_value.as_ptr() - ); - datamgr_api::LoadPlugins(DATA_PLUGIN_MANAGER); - } - } -} \ No newline at end of file +// fn init_data_plugin_manager() { +// unsafe { +// if DATA_PLUGIN_MANAGER.is_null() { +// DATA_PLUGIN_MANAGER = datamgr_api::NewPluginManager(); +// let plugin_to_load_key = CString::new("core.pluginsToLoad").unwrap(); +// let plugin_to_load_value = CString::new("Messaging Storage Portal").unwrap(); +// datamgr_api::SetParameter( +// DATA_PLUGIN_MANAGER, +// plugin_to_load_key.as_ptr(), +// plugin_to_load_value.as_ptr() +// ); +// datamgr_api::LoadPlugins(DATA_PLUGIN_MANAGER); +// } +// } +// } \ No newline at end of file diff --git a/src/cores/mod.rs b/src/cores/mod.rs index 88b9cf7..9662540 100644 --- a/src/cores/mod.rs +++ b/src/cores/mod.rs @@ -1,6 +1,7 @@ +use std::ffi::CString; use bon::Builder; use std::iter::zip; - +use crate::cores::handlers::datamgr::{datamgr_api, DATA_PLUGIN_MANAGER}; pub mod daemons; #[cfg(feature = "servers")] @@ -106,3 +107,21 @@ pub async fn start_server(params: ServerStartParams) -> anyhow::Result<()> { } Ok(()) } + + + +pub fn init_data_plugin_manager() { + unsafe { + if DATA_PLUGIN_MANAGER.is_null() { + DATA_PLUGIN_MANAGER = datamgr_api::NewPluginManager(); + let plugin_to_load_key = CString::new("core.pluginsToLoad").unwrap(); + let plugin_to_load_value = CString::new("Messaging Storage Portal").unwrap(); + datamgr_api::SetParameter( + DATA_PLUGIN_MANAGER, + plugin_to_load_key.as_ptr(), + plugin_to_load_value.as_ptr() + ); + datamgr_api::LoadPlugins(DATA_PLUGIN_MANAGER); + } + } +} \ No newline at end of file -- Gitee