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_task_params, zp_write};
zp_task_params! {
ComputeTask {
iterations: usize,
result: *mut u64,
}
}
zp_define_task_fn!(compute_task, ComputeTask, |params| {
let mut sum = 0u64;
for i in 0..params.iterations {
sum = sum.wrapping_add(i as u64);
}
zp_write!(params.result, sum);
});