zp_define_task_fn

Macro zp_define_task_fn 

Source
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);
});