You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to create a plugin using proxy-wasm-rust-sdk which will run inside a proxy-wasm-go-host.
My plugin fails to initialize due to missing imports (not provided by the Go host).
These missing imports are not a part of the ABI spec as it appears here
They include the following functions:
proxy_clear_route_cache
proxy_continue_request
proxy_continue_response
proxy_get_configuration
proxy_send_local_response
I understand these functions are a part of Envoy specifically, but not a part of the ABI.
I propose that any such function which isn't part of the ABI will be excludable using the Rust conditional compilation feature, e.g. by having an envoy feature (to opt-in all envoy-specific functions) or a abi-x.y.z feature (to opt-out any function which doesn't comply with this ABI version).
(If accepted and some implementation guidelines are provided, then I can issue a PR)
The text was updated successfully, but these errors were encountered:
I agree that any Envoy specific ABI extensions should be guarded by a feature. However, that's not what's happening here. Those functions are in fact part of the ABI v0.1.0, which Rust SDK implements (update to ABI v0.2.1 is pending merge in #64).
Proxy-Wasm Go Host claims support for ABI v0.1.0 and v0.2.0, but it doesn't implement either correctly (see: mosn/proxy-wasm-go-host#10).
Note that the vNEXT in proxy-wasm/spec repo is a work-in-progress for the next iteration of the specification (hence vNEXT), and there is no documentation for either ABI v0.1.0, v0.2.0 or v0.2.1, so Envoy and SDKs are effectively the specification for those versions.
@PiotrSikora thank you for the clarification!
It would be nice if this information would be reflected in the markdown files in the spec repo, I'll see if I can PR to improve that.
In any case - I'm closing this issue.
I'm trying to create a plugin using proxy-wasm-rust-sdk which will run inside a proxy-wasm-go-host.
My plugin fails to initialize due to missing imports (not provided by the Go host).
These missing imports are not a part of the ABI spec as it appears here
They include the following functions:
proxy_clear_route_cache
proxy_continue_request
proxy_continue_response
proxy_get_configuration
proxy_send_local_response
I understand these functions are a part of Envoy specifically, but not a part of the ABI.
I propose that any such function which isn't part of the ABI will be excludable using the Rust conditional compilation feature, e.g. by having an
envoy
feature (to opt-in all envoy-specific functions) or aabi-x.y.z
feature (to opt-out any function which doesn't comply with this ABI version).(If accepted and some implementation guidelines are provided, then I can issue a PR)
The text was updated successfully, but these errors were encountered: