-
Notifications
You must be signed in to change notification settings - Fork 113
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
evaluate FIDL for inter-node communication #426
Comments
Some of the new features are needed for future FIDL support. ref project-oak#426
We will need the `fidlc` and `fidlgen` binaries from it. ref project-oak#426
The packages are all unmodified, apart from adding a `README.md` file each to clarify provenance, and a `Cargo.toml` file when necessary. ref project-oak#426
Some of the new features are needed for future FIDL support. ref project-oak#426
@wildarch I wonder whether this is something you would be interested in looking into? I can provide more details in person the coming week, but I think this is potentially a good issue because:
For now perhaps you can read up on FIDL and take a look at some of the previous related PRs (some merged, some abandoned), e.g.: #442 #444 #445 |
Sounds interesting! I'll take a look this week 😄 |
After some discussion with @tiziano88 I have decided to experiment with passing channels over GRPC/Protobuf first. Tracking that work in #673. I will come back to working on this issue depending on the outcome of the experiment. The main reason I'm hesitating to bet on using FIDL is that it is currently very much tied to the Fuchsia ecosystem, if this changes then FIDL might become a much more appealing alternative. |
Since #1108 we support passing handles between nodes as fields in protocol buffers, so I don't think there is a need to still look into FIDL. |
Well, FIDL would still be much more expressive than protobuf I think, having generics, and the ability to pass references to other services in a type safe way. I would say we would need similar features either in protobuf, or for Rust structs, at some point. |
Our messaging system relies on sending bytes and handles separately, but we don't yet have a good mechanism for serialising and deserialising data structures from Rust or C++ into these components, so we currently do this by hand and inconsistently in our examples.
FIDL seems to address this by providing a mechanism for serialising and also for performing RPCs and message based communication, so it may be useful to look into it and see whether we can integrate it in Oak (both in the runtime, and also as an option for developers developing applications for Oak).
related to #420
blocks #389
The text was updated successfully, but these errors were encountered: