Files
wasmeld/components/clock-probe/src/lib.rs
T

25 lines
608 B
Rust
Raw Normal View History

mod bindings {
wit_bindgen::generate!({
path: "wit",
world: "clock-probe-component",
generate_all,
});
}
struct ClockProbe;
impl bindings::Guest for ClockProbe {
fn init(_config: Vec<u8>) -> Result<(), bindings::ServiceError> {
Ok(())
}
fn invoke(input: Vec<u8>) -> Result<Vec<u8>, bindings::ServiceError> {
let now = bindings::wasmeld::clock::monotonic_clock::now();
let mut output = now.to_le_bytes().to_vec();
output.extend_from_slice(&input);
Ok(output)
}
}
bindings::export!(ClockProbe with_types_in bindings);