flxo / android-binder

Android Binder crate in pure Rust
10 stars 2 forks source link

Android HAL in rust #1

Open tekjar opened 5 years ago

tekjar commented 5 years ago

Hi. I've been exploring ways to write binderized hals in rust. If this crate is meant for similar purpose, how did the experiment go?

flxo commented 5 years ago

Hi,

This code here is more a learning thing for me to understand how Binder works that I did on a rainy weekend. The structure and design is horrible and I also think I learnt some more Rust in the meantime...

Background: We experimented with our application framework and thought about doing IPC via Binder (and did in some experimental code). In the end we wen't for unix sockets first and may implement Binder once we need it for performance or other reasons. If we're going once for Binder we'd probably rewrite what libbinder is doing since it's not optimal in some concerns for us.

So, this repo is just kept for reference, not maintained or actively developed - more a scratchpad.

Funny OT : yesterday I ran your MQTT broker on a Android device ;-) Anything planned there?

tekjar commented 5 years ago

@flxo Super interested in learning and contributing if you ever want to work on binder in rust again.

Funny OT : yesterday I ran your MQTT broker on a Android device ;-) Anything planned there?

Oh nice. Can I know why you are using a broker in an android device? I'm waiting for async/await to be done so that I don't have to refactor again. Had this crazy idea to integrate MQTT and QUIC

flxo commented 5 years ago

@tekjar The Rust Binder stuff is not on top of the list but maybe a good match. Lets see. Google is pushing Rust a lot in Fuchsia but for Android there seems to be no interest.

The device is a headless Android 6.1 without any of the Google Java stuff. Classic IOT. The broker is used for inter process messaging and for entry point for messages from the outside. Currently there's a Mosquitto running but we will have some requirements like access control on client id level etc which is probably not so nice with Mosquitto. There are not so many brokers out there that fit into, so a Rust broker would be perfect! We're not working on one right now.