wasmtime_wasi_io/
bindings.rs

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