proxy-wasm-cpp-host
proxy-wasm-cpp-host copied to clipboard
WebAssembly for Proxies (C++ host implementation)
WasmBase::start is called for every plugin; https://github.com/proxy-wasm/proxy-wasm-cpp-host/blob/668bc99e4ead7872f014638ff16c68736853da43/src/wasm.cc#L593 and inside of it ContextBase::onStart is called: https://github.com/proxy-wasm/proxy-wasm-cpp-host/blob/668bc99e4ead7872f014638ff16c68736853da43/src/wasm.cc#L395 that results in calling on_vm_start: https://github.com/proxy-wasm/proxy-wasm-cpp-host/blob/668bc99e4ead7872f014638ff16c68736853da43/src/context.cc#L137-L142
this could be a problem once we support multiple runtimes because I think users would expect VMs to be created with a specified runtimes they change `vm_config.runtime`
Luckily our SDK languages except AsmScript are LLVM based ones so we have `.debug_line` custom section as long as modules compiled with debug info. I think it's really useful for...
for the future changes like https://github.com/proxy-wasm/proxy-wasm-cpp-host/pull/155
From https://github.com/proxy-wasm/proxy-wasm-cpp-host/pull/156#discussion_r620092330: > We should remove default implementations (e.g. `getCurrentTimeNanoseconds`) from headers, to avoid accidentally leaking them into production code... and then we can have a dummy Context implementation used...
Instead of using `RAND_bytes` directly in Proxy-Wasm C++ Host, we should get random bytes from the embedding application, which might also have an optimized version of it available. cc @mathetake
The capability restriction system introduced in #89 is currently working on a per-VM basis, but it should be done on a per-plugin basis because users can provide capability restriction configurations...
Runtime build issues/handling should be decoupled from host implementations, e.g. the link time symbol issue https://github.com/envoyproxy/envoy/issues/14012 TODOs: - have BUILD files for WAVM and V8 (hopefully without gen_rules https://github.com/envoyproxy/envoy-wasm/issues/206) -...
I notice that there are grpcStream, grpcCall, httpCall. No tcp support?