macro_rules! chobit_module {
(
input_buffer_size = $input_buffer_size:expr;
output_buffer_size = $output_buffer_size:expr;
on_created($($on_created_args:tt)*) -> $user_object_type:ty {
$($code_1:tt)*
}
on_received($($on_received_args:tt)*) {
$($code_2:tt)*
}
) => { ... };
}Expand description
Defines WASM module. Defined in chobit_module.rs .
ⓘ
use chobitlibs::chobit_module::{ChobitModule, chobit_module};
struct MyObject {
pub value: i32
}
chobit_module! {
input_buffer_size = 16 * 1024; // Initial input buffer size.
output_buffer_size = 16 * 1024; // Initial output buffer size.
// This is called when this module has created.
on_created() -> MyObject {
MyObject {
value: 100
}
}
// This is called when received data from other module.
on_received(module: &mut ChobitModule<MyObject>) {
module.send(
123,
format!("Hello {}", module.user_object().value).as_bytes()
);
}
}