From 992940150ca2db7cd0faf3089c3e73bc0a23bb27 Mon Sep 17 00:00:00 2001 From: Donghyun Kim Date: Wed, 12 Jun 2024 00:42:15 +0900 Subject: [PATCH 1/3] Make message ID `i32` --- flutter_ffi_plugin/lib/src/interface_os.dart | 29 ++++++-------------- rust_crate/src/macros.rs | 2 +- 2 files changed, 9 insertions(+), 22 deletions(-) diff --git a/flutter_ffi_plugin/lib/src/interface_os.dart b/flutter_ffi_plugin/lib/src/interface_os.dart index 781b1929..81610d16 100644 --- a/flutter_ffi_plugin/lib/src/interface_os.dart +++ b/flutter_ffi_plugin/lib/src/interface_os.dart @@ -77,20 +77,10 @@ Future sendDartSignalReal( binaryMemory.asTypedList(binary.length).setAll(0, binary); final rustFunction = rustLibrary.lookupFunction< - Void Function( - IntPtr, - Pointer, - IntPtr, - Pointer, - IntPtr, - ), - void Function( - int, - Pointer, - int, - Pointer, - int, - )>('send_dart_signal_extern'); + Void Function(Int32, Pointer, UintPtr, Pointer, UintPtr), + void Function(int, Pointer, int, Pointer, int)>( + 'send_dart_signal_extern', + ); rustFunction( messageId, @@ -105,12 +95,9 @@ Future sendDartSignalReal( } void prepareIsolateReal(int port) { - final rustFunction = rustLibrary.lookupFunction< - Void Function( - IntPtr, - ), - void Function( - int, - )>('prepare_isolate_extern'); + final rustFunction = + rustLibrary.lookupFunction( + 'prepare_isolate_extern', + ); rustFunction(port); } diff --git a/rust_crate/src/macros.rs b/rust_crate/src/macros.rs index 5042f8bf..1c15cb8a 100644 --- a/rust_crate/src/macros.rs +++ b/rust_crate/src/macros.rs @@ -26,7 +26,7 @@ macro_rules! write_interface { #[cfg(not(target_family = "wasm"))] #[no_mangle] pub unsafe extern "C" fn send_dart_signal_extern( - message_id: i64, + message_id: i32, message_pointer: *const u8, message_size: usize, binary_pointer: *const u8, From da221ac71914134d46594095b78c19c67288badc Mon Sep 17 00:00:00 2001 From: Donghyun Kim Date: Wed, 12 Jun 2024 00:43:09 +0900 Subject: [PATCH 2/3] Upgrade `allo-isolate` --- rust_crate/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust_crate/Cargo.toml b/rust_crate/Cargo.toml index db8c2f9c..52584578 100644 --- a/rust_crate/Cargo.toml +++ b/rust_crate/Cargo.toml @@ -14,7 +14,7 @@ backtrace = "0.3.69" protoc-prebuilt = "0.3.0" home = "0.5.9" which = "6.0.0" -allo-isolate = "0.1.24" +allo-isolate = "0.1.25" tokio = { version = "1", features = ["rt-multi-thread"] } [target.'cfg(target_family = "wasm")'.dependencies] From c6d4d9f90bc4ba42f23539d2f479058d0c301e21 Mon Sep 17 00:00:00 2001 From: Donghyun Kim Date: Wed, 12 Jun 2024 00:49:03 +0900 Subject: [PATCH 3/3] Remove unneeded cast --- rust_crate/src/macros.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust_crate/src/macros.rs b/rust_crate/src/macros.rs index 1c15cb8a..95e7739e 100644 --- a/rust_crate/src/macros.rs +++ b/rust_crate/src/macros.rs @@ -36,7 +36,7 @@ macro_rules! write_interface { unsafe { std::slice::from_raw_parts(message_pointer, message_size).to_vec() }; let binary = unsafe { std::slice::from_raw_parts(binary_pointer, binary_size).to_vec() }; - messages::generated::handle_dart_signal(message_id as i32, message_bytes, binary); + messages::generated::handle_dart_signal(message_id, message_bytes, binary); } #[cfg(target_family = "wasm")]