-
Notifications
You must be signed in to change notification settings - Fork 32
Add support for host features. #91
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
base: main
Are you sure you want to change the base?
Changes from 1 commit
a37d74b
f29d033
2b0589c
58b7325
6af0359
877316b
1042a69
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| # Host features | ||
|
|
||
| | Identifier | Name | Values | Deprecated | | ||
| |:----------:|:-------------------------|:---------------------------------------------------------------------------------------------------|:----------:| | ||
| | 0x0001 | `HAS_CORE` | When `1`, all baseline functions considered essential are supported. | No | | ||
| | 0x0002 | `HAS_LOGGING` | When `1`, all baseline functions for logging are supported. | No | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are the SDKs expected to track which host features are supported and avoid invoking their hostcalls, or is it up to plugin authors to avoid calling such functions?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. They could (to avoid crossing Wasm<>Host boundary), but for any unsupported hostcalls, they'll receive The main goal is for plugins to verify support for the features they required during configuration phase, and fail to start if some are missing, instead of starting successfully and failing at runtime due to
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm going back and forth on this. Should we have a generic catch-all text about
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added text about
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The generic catch-all text makes sense to me. |
||
| | 0x0003 | `HAS_HTTP_HEADERS` | When `1`, only baseline functions related to HTTP headers are supported. | No | | ||
| | 0x0004 | `HAS_HTTP_WITH_BODY` | When `1`, all baseline functions for HTTP are supported. | No | | ||
|
PiotrSikora marked this conversation as resolved.
Outdated
|
||
| | 0x0005 | `HAS_HTTP_CALLS` | When `1`, all baseline functions for HTTP calls are supported. | No | | ||
| | 0x0006 | `HAS_GRPC_CALLS` | When `1`, all baseline functions for gRPC calls are supported. | No | | ||
| | 0x0007 | `HAS_GRPC_STREAMS` | When `1`, all baseline functions for gRPC streams are supported. | No | | ||
|
mpwarres marked this conversation as resolved.
Outdated
|
||
| | 0x0008 | `HAS_TCP_FILTER` | When `1`, only baseline functions related to new TCP connections are supported. | No | | ||
| | 0x0009 | `HAS_TCP_WITH_PAYLOAD` | When `1`, all baseline functions for TCP are supported. | No | | ||
| | 0x000A | `HAS_KEY_VALUE_STORES` | When `1`, all baseline functions for key-value stores are supported. | No | | ||
| | 0x000B | `HAS_SHARED_QUEUES` | When `1`, all baseline functions for shared queues are supported. | No | | ||
| | 0x000C | `HAS_TIMERS` | When `1`, all baseline functions for timers are supported. | No | | ||
| | 0x000D | `HAS_METRICS` | When `1`, all baseline functions for metrics are supported. | No | | ||
| | 0x000E | `HAS_PROPERTIES` | When `1`, all baseline functions for properties are supported. | No | | ||
| | 0x000F | `HAS_CUSTOM_FUNCTIONS` | When `1`, all baseline functions for custom functions are supported. | No | | ||
| | 0x0F01 | `HAS_WASI_PREVIEW1_CORE` | When `1`, all baseline functions considered essential from WASI Preview1 are supported. | No | | ||
|
mpwarres marked this conversation as resolved.
Outdated
|
||
|
|
||
|
|
||
| Identifiers below 0x2000 are reserved for standardized features and options. Random numbers above that range should be used for private extensions. | ||
|
mpwarres marked this conversation as resolved.
Outdated
|
||
Uh oh!
There was an error while loading. Please reload this page.