Description
I noticed a recent change added an enumeration to the FilterHeadersStatus
return codes for ContinueAndDontEndStream
. https://github.com/envoyproxy/envoy/blob/master/include/envoy/http/filter.h#L75
Envoy WASM doesn't yet have the change [ https://github.com/envoyproxy/envoy-wasm/blob/master/include/envoy/http/filter.h ]
The AssemblyScript runtime has its own version of the enumeration, at https://github.com/solo-io/proxy-runtime/blob/master/assembly/runtime.ts#L96 , which doesn't include the new enumeration. The current AssemblyScript runtime advertises itself as proxy_abi_version_0_2_0
.
How will this work in practice when Envoy WASM picks up the new enumeration from Envoy? Do we expect
- Envoy-Wasm will pick up the Envoy change but re-order the enumeration so binary enum constant values don't change?
- Envoy-Wasm will reject plugins with ABI older version point release, forcing filter developers to recompile?
- Envoy-Wasm will including enumeration mapping, and proxy_abi_version_0_2_0 filters can continue to return 4 for FilterHeadersStatus.StopAllIterationAndBuffer alongside proxy_abi_version_0_2_x filters returning 5 for proxy_abi_version_0_2_0?