Kobako: Exchanging Memory in WebAssembly
The past few posts covered how MessagePack was chosen, but interacting through WebAssembly works a little differently from interacting with a native extension.
The reason is that what we’re building is a sandbox to isolate untrusted code, which means the operations are essentially close to one-directional. Code running inside the sandbox cannot touch any of the host’s memory, so the method calls we originally had in mind need some special handling.