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