Skip to content
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

Discuss how to "mainstream" this fork for usage in uProtocol development #1

Closed
PLeVasseur opened this issue Feb 19, 2024 · 1 comment

Comments

@PLeVasseur
Copy link
Owner

PLeVasseur commented Feb 19, 2024

Hey folks 👋

I found a very nice Rust crate (i.e. library) which allows us to interface from Rust with the Android Binder APIs (and this is key!) without having to build any of uProtocol out of the AOSP.

This is work done to support the pluggable uStreamer concept so that we can have a single uStreamer written in Rust that will allow usage with the available transports.

I have extended its functionality in a fork and wanted to hear feedback from the uProtocol community what we should do with the modifications.

I think the spirit of open source would say I go open an issue on their repo letting them know I made modifications for our use case and asking if they'd like to incorporate them. We'd then let them continue to maintain as necessary.

I'm thinking to start with that step and then if I don't hear back, we can consider to go from there, e.g.

  • Moving this project underneath eclipse-uprotocol project or
  • Leaving it here under my personal account and I publish to crates.io so that we can depend on a stabler release

Further details follow about the extensions, read on if you so choose! 🙂

I have extended it with two new functionalities for our use case:

  1. We can now use custom parcelables in Rust. This feature was added to the Android Open Source Project (AOSP) about a month ago.
    • In support of our usage of Protobuf for serialization and deserialization -- we needed that same ability in Rust
  2. We can now interoperate with Java by receiving / sending Binder objects through the JNI and transforming them to the appropriate Rust Binder objects.
@PLeVasseur
Copy link
Owner Author

We decided upon trying to upstream -- issue and PR are open

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