macro_rules! zp_define_task_fn {
($fn_name:ident, $param_type:ty, |$params:ident| $body:block) => { ... };
}Expand description
Define a task function with automatic parameter dereferencing
This macro creates a task function that safely dereferences the raw parameter pointer to the specified type, allowing safe access to fields.
ยงExamples
use zero_pool::{zp_define_task_fn, zp_write};
// Define your task parameter struct
struct ComputeTaskStruct { iterations: usize, result: *mut u64 }
zp_define_task_fn!(compute_task, ComputeTaskStruct, |params| {
let mut sum = 0u64;
for i in 0..params.iterations {
sum = sum.wrapping_add(i as u64);
}
zp_write!(params.result, sum);
});