Trait flutter_rust_bridge::handler::Executor
source · [−]pub trait Executor: RefUnwindSafe {
fn execute<TaskFn, TaskRet>(&self, wrap_info: WrapInfo, task: TaskFn)
where
TaskFn: FnOnce(TaskCallback) -> Result<TaskRet> + Send + UnwindSafe + 'static,
TaskRet: IntoDart;
fn execute_sync<SyncTaskFn>(
&self,
wrap_info: WrapInfo,
sync_task: SyncTaskFn
) -> Result<SyncReturn<Vec<u8>>>
where
SyncTaskFn: FnOnce() -> Result<SyncReturn<Vec<u8>>> + UnwindSafe;
}Expand description
An executor model for Rust functions.
For example, the default model is ThreadPoolExecutor which runs each function in a separate thread.
Required Methods
fn execute<TaskFn, TaskRet>(&self, wrap_info: WrapInfo, task: TaskFn) where
TaskFn: FnOnce(TaskCallback) -> Result<TaskRet> + Send + UnwindSafe + 'static,
TaskRet: IntoDart,
fn execute<TaskFn, TaskRet>(&self, wrap_info: WrapInfo, task: TaskFn) where
TaskFn: FnOnce(TaskCallback) -> Result<TaskRet> + Send + UnwindSafe + 'static,
TaskRet: IntoDart,
Executes a Rust function and transforms its return value into a Dart-compatible
value, i.e. types that implement IntoDart.
fn execute_sync<SyncTaskFn>(
&self,
wrap_info: WrapInfo,
sync_task: SyncTaskFn
) -> Result<SyncReturn<Vec<u8>>> where
SyncTaskFn: FnOnce() -> Result<SyncReturn<Vec<u8>>> + UnwindSafe,
fn execute_sync<SyncTaskFn>(
&self,
wrap_info: WrapInfo,
sync_task: SyncTaskFn
) -> Result<SyncReturn<Vec<u8>>> where
SyncTaskFn: FnOnce() -> Result<SyncReturn<Vec<u8>>> + UnwindSafe,
Executes a Rust function that returns a SyncReturn.