Separate out Envoy platform API from extension API
#5.126 geöffnet am 26. Nov. 2018
Repository-Metriken
- Stars
- (27.997 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)
Beschreibung
We currently have a bit of conflation in api/ between those APIs that are provided a platform abstraction layer (mostly for the benefit of core Envoy, but also extensions) and the APIs that will one day act as a stable interface for extensions. For example:
is clearly in the second category, and
is in the first. This becomes even stranger when we have the ApiImpl require access to a stats object in
This is because the filesystem code is both a platform abstraction API and also providing higher level functionality like stats tracking.
Ideally, we split out the API into a api/platform and api/export, where we clearly delineate these two concerns. New platform ports of Envoy populate the interfaces in api/platform, extensions take dependencies on api/export.
CC @jmarantz @eziskind @mattklein123