diff --git a/services/tunnelbroker/build.rs b/services/tunnelbroker/build.rs --- a/services/tunnelbroker/build.rs +++ b/services/tunnelbroker/build.rs @@ -26,7 +26,7 @@ add_import_path("src/libcpp/src/DeliveryBroker"); add_import_path("src/libcpp/src/Tools"); - cxx_build::bridge("src/main.rs") + cxx_build::bridge("src/cxx_bridge.rs") .files(get_cpp_sources("../lib/src")) .files(get_cpp_sources("src/libcpp/src")) .file(Path::new("src/libcpp/Tunnelbroker.cpp")) diff --git a/services/tunnelbroker/src/cxx_bridge.rs b/services/tunnelbroker/src/cxx_bridge.rs new file mode 100644 --- /dev/null +++ b/services/tunnelbroker/src/cxx_bridge.rs @@ -0,0 +1,7 @@ +#[cxx::bridge] +pub mod ffi { + unsafe extern "C++" { + include!("tunnelbroker/src/libcpp/Tunnelbroker.h"); + pub fn initialization(); + } +} diff --git a/services/tunnelbroker/src/main.rs b/services/tunnelbroker/src/main.rs --- a/services/tunnelbroker/src/main.rs +++ b/services/tunnelbroker/src/main.rs @@ -1,16 +1,9 @@ +pub mod cxx_bridge; pub mod server; -#[cxx::bridge] -mod ffi { - unsafe extern "C++" { - include!("tunnelbroker/src/libcpp/Tunnelbroker.h"); - pub fn initialization(); - } -} - #[tokio::main] async fn main() -> Result<(), Box> { - ffi::initialization(); + cxx_bridge::ffi::initialization(); server::run_grpc_server().await?; Ok(())