From 7fff6e7ccfae2d46d28d7fb8158945a848142c94 Mon Sep 17 00:00:00 2001 From: jiangliuwei Date: Tue, 11 Mar 2025 11:24:27 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8Devenbus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/test.rs | 44 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/src/utils/test.rs b/src/utils/test.rs index b03f7da..6767a2c 100644 --- a/src/utils/test.rs +++ b/src/utils/test.rs @@ -1,4 +1,5 @@ use std::ffi::CString; +use std::os::raw::c_void; use std::sync::Arc; use bon::Builder; use feventbus::impls::messaging::messaging::Messaging; @@ -10,28 +11,53 @@ use crate::prepare_app_state; #[allow(unused)] pub async fn setup_message_cli() -> Messaging { - let my_id = 0; - - let data_plugin_manager = unsafe { datamgr_api::NewPluginManager(my_id) }; + // let my_id = 0; + // + // let data_plugin_manager = unsafe { datamgr_api::NewPluginManager(my_id) }; let plugin_to_load_key = CString::new("core.pluginsToLoad").unwrap(); let plugin_to_load_value = CString::new("Messaging Storage Portal").unwrap(); + let leader_mq_plugin_manager = unsafe { init_mq_plugins(&plugin_to_load_key, &plugin_to_load_value) }; + let leader_address = CString::new("127.0.0.1").unwrap(); unsafe { - datamgr_api::SetParameter( - data_plugin_manager, - plugin_to_load_key.as_ptr(), - plugin_to_load_value.as_ptr(), + datamgr_api::StartUdp( + leader_mq_plugin_manager, + // protocol as c_int, + leader_address.as_ptr(), + // my_port, ); - datamgr_api::LoadPlugins(data_plugin_manager); } + // unsafe { + // datamgr_api::SetParameter( + // data_plugin_manager, + // plugin_to_load_key.as_ptr(), + // plugin_to_load_value.as_ptr(), + // ); + // datamgr_api::LoadPlugins(data_plugin_manager); + // } + tokio::time::sleep(tokio::time::Duration::from_secs(1)).await; let mut messaging_client = Messaging::new().await.unwrap(); - messaging_client.set_plugin_manager(data_plugin_manager); + messaging_client.set_plugin_manager(leader_mq_plugin_manager); messaging_client } +unsafe fn init_mq_plugins(plugin_to_load_key: &CString, plugin_to_load_value: &CString) -> *mut c_void { + let master_plugin_manager = datamgr_api::NewPluginManager(); + datamgr_api::SetParameter( + master_plugin_manager, + plugin_to_load_key.as_ptr(), + plugin_to_load_value.as_ptr(), + ); + + datamgr_api::LoadPlugins(master_plugin_manager); + master_plugin_manager +} + + + #[allow(unused)] pub fn tear_down_message_cli(messaging_client: Arc) { let plugin_manager = messaging_client.get_plugin_manager().expect("Plugin manager is not set"); -- Gitee