diff --git a/src/utils/test.rs b/src/utils/test.rs index b03f7da593481a75cf5f4657960daf0ec0bac67c..6767a2cdd51abce1179b0cbf3ba56e456585cb63 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");