Skip to content

Conversation

@SebastienGllmt
Copy link
Contributor

Currently, reading (read_value) and writing values (tokio_util::codec::Encoder) is only supported for wasmtime

I want to be able to easily use wRPC from the command line (which wasm-wave is designed to enable), but I want to do this without having to convert to wasmtime as an intermediate step (so that it's runtime agnostic)

I felt like maybe the right way to do this is to add a wrpc-wave crate to wrpc (in the same way there is a wrpc-runtime-wasmtime)

Benefits

This makes wRPC easily usable from wasm-wave. This helps not just with CLI / string-based cases, but also wasm-wave has a generic WasmValue and WasmType trait that any runtime can implement (in fact, wasmtime implements this!)

This means that if somebody wants to add another runtime to wRPC, they can get at least partial support if their runtime already supports wasm-wave

Downsides

This PR includes we feels like somewhat duplicate code. Notably, crates/wave/src/core contains logic that very closely overlaps with wrpc-runtime-wasmtime. This means that any time you update one, you have to remember to update the other (although I don't suspect these encoding/decoding functions will change often)

We can't easily deduplicate because:

  1. wasmtime can't be the source of truth, as it creates a hard dependency on a specific runtime
  2. wrpc-wave can't be the source of truth, as it doesn't support resources (so the resource branches are missing)

It may be possible to deduplicate part of the code with some kind of shared utility crate or something like that, but I wasn't sure which approach you'd prefer

@rvolosatovs rvolosatovs enabled auto-merge January 19, 2026 10:42
@rvolosatovs rvolosatovs disabled auto-merge January 19, 2026 11:49
@rvolosatovs
Copy link
Member

@SebastienGllmt would you address the clippy warnings?

@rvolosatovs rvolosatovs enabled auto-merge January 20, 2026 11:39
@rvolosatovs rvolosatovs added this pull request to the merge queue Jan 20, 2026
Merged via the queue into bytecodealliance:main with commit 683f426 Jan 20, 2026
38 checks passed
@SebastienGllmt SebastienGllmt deleted the wrpc-wave branch January 20, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants