wasmtime_wasi_io/
bindings.rs

1wasmtime::component::bindgen!({
2    path: "wit",
3    trappable_imports: true,
4    with: {
5        "wasi:io/poll/pollable": crate::poll::DynPollable,
6        "wasi:io/streams/input-stream": crate::streams::DynInputStream,
7        "wasi:io/streams/output-stream": crate::streams::DynOutputStream,
8        "wasi:io/error/error": crate::streams::Error,
9    },
10    async: {
11        only_imports: [
12            "poll",
13            "[method]pollable.block",
14            "[method]pollable.ready",
15            "[method]input-stream.blocking-read",
16            "[method]input-stream.blocking-skip",
17            "[drop]input-stream",
18            "[method]output-stream.blocking-splice",
19            "[method]output-stream.blocking-flush",
20            "[method]output-stream.blocking-write",
21            "[method]output-stream.blocking-write-and-flush",
22            "[method]output-stream.blocking-write-zeroes-and-flush",
23            "[drop]output-stream",
24        ]
25    },
26    trappable_error_type: {
27        "wasi:io/streams/stream-error" => crate::streams::StreamError,
28    }
29});