Skip to content

Consistent style in the ABI (expanded vs minimal) #80

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
PiotrSikora opened this issue Mar 15, 2025 · 0 comments
Open

Consistent style in the ABI (expanded vs minimal) #80

PiotrSikora opened this issue Mar 15, 2025 · 0 comments
Milestone

Comments

@PiotrSikora
Copy link
Member

During the initial development, we went through a lot of back-and-forth both expanding and minimizing the ABI surface (e.g. get_buffer_bytes(buffer_type) vs get_http_request_body_chunk() and similar, set_shared_data(NULL) vs remove_shared_data()), both internally and during Envoy upstreaming process.

The version that was initially merged into Envoy, and which the ecosystem ossified around, ended up with some unfortunate inconsistencies (using both: expanded proxy_{get,add,replace,remove}_header_map_value, and minimal proxy_set_buffer_bytes(start, offset) or proxy_set_shared_data(NULL)).

We should clean this up and stick to one style.

While I don't have strong preference one way or the other, note that splitting features into groups (#57) and having specialized context types with their own hostcalls (#9) probably means that we should be expanding the ABI surface instead of minimizing it.

@mpwarres @martijneken @leonm1 @wbpcode @thibaultcha any thoughts?

@PiotrSikora PiotrSikora added this to the v0.3.0 milestone Mar 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant