-
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
Experiment with passing handles between nodes in Protobufs #673
Comments
@tiziano88 could you assign this bug to me btw? |
I have some very early POC in https://github.com/wildarch/handle_extract (requires https://github.com/wildarch/prost as well). Right now this maps a proto like:
to a Rust struct that looks like:
And the other way around. Next step will be to implement a procedural macro that generates an implementation of a trait like:
|
The POC in https://github.com/wildarch/handle_extract now implements extraction and injection in a type-safe manner 🎉. I'll now start working towards:
|
This would allow nodes to share channels with each other simply by passing them over an existing channel, encoding them in an ordinary protocol buffer.
The approach I am proposing for now is that we introduce methods in the Oak ABI to generate a kind of 'invite token' for a combination of a channel handle to send and a channel handle over which to send the token. This token can then be transmitted as part of an ordinary protobuf message, and the receiver can call upon the Oak ABI to exchange the invite token for an actual handle.
The experiment should answer the following questions:
Related to #426 and #420.
The text was updated successfully, but these errors were encountered: