support setting bytes for stdin
tiziano88 opened this issue · 4 comments
Motivation
It is quite common to have to provide a pre-determined stdin value to a Wasm module, without having to expose a full file system to it.
Proposed solution
leverage this function:
https://docs.wasmtime.dev/c-api/wasi_8h.html#a525abd98ade58887a969b796ea05468e
would require modifying
wasmer-go/wasmer/packaged/include/wasmer.h
Lines 705 to 707 in ca60a45
and
Lines 196 to 202 in ca60a45
Alternatives
The best alternative at the moment is passing the value as argument on the command line, but that's not great for large and / or binary values.
I'm currently facing the same issue on my project. It would be quite handy having somehow a setStdIn
function.
Could you explain on more further details about the workaround to pass input data to the wasi
module execution?
For the time being I just serialize the data as a string (base64 if necessary) and pass it as the first command line argument to the Wasm module, which then reads it as argv[1]
Right, in that case fixing this issue wouldn't help you, since this is specific to WASI, which AFAICT you are not using. I think your best bet is to declare a custom function for the Wasm module to read the data into its own memory