envoy-wasm-rust-sdk
envoy-wasm-rust-sdk copied to clipboard
Rust SDK for WebAssembly-based Envoy extensions
## Context * `Rust` doesn't support backtraces on `wasm32` (neither is [backtrace](https://docs.rs/backtrace/0.3.50/backtrace/) package) ## Expected * find a way for user to manually attach location to an error * use...
## Context * native `Envoy` `Network Filters` can stop further processing of a TCP connection by using `read_callbacks_->connection().close(...)` API ## Expect * `proxy-wasm` spec should provide an equivalent ABI
## Context * apparently, `Rust` [doesn't support](https://github.com/rust-lang/rust/blob/master/src/libpanic_unwind/dummy.rs) stack unwinding on `wasm32` arch * which means that Wasm VM becomes unusable after the first panic ## Notes * it seems that...
## Context * at the moment, our SDK doesn't provide support for writing "bootstrap extensions" * in the meantime, such extensions represent a perfect use case for `Timer API` and...
## Context * host calls * [proxy_dispatch_grpc_call](https://github.com/proxy-wasm/spec/blob/master/abi-versions/vNEXT/README.md#proxy_dispatch_grpc_call) * `proxy_open_grpc_stream ` * `proxy_send_grpc_call_message ` * `proxy_cancel_grpc_call ` * `proxy_close_grpc_call ` * extension callbacks * `proxy_on_grpc_call_response_header_metadata` * `proxy_on_grpc_call_response_message` * `proxy_on_grpc_call_response_trailer_metadata ` *...
## Context * [proxy_call_foreign_function](https://github.com/proxy-wasm/spec/blob/master/abi-versions/vNEXT/README.md#proxy_call_foreign_function)