We've been working on making fidl work in a fully async mode, as opposed to the previous hacky prototype where we spawned threads to run a server and also to wait for a response. This is based the Rust ecosystem's preferred async stack, namely futures-rs, mio, and tokio-core.
I have it building locally, and the ledger_example now works. There a few build-related steps to work through to get it building, but I figured people would want to see the code.
There's also a fairly small "fucsha-tokio" layer that I'm in the process of uploading. I'll update this thread when that's done. In the meantime, I'm hoping that interested people can take a look at the code and see the general approach we've taken. To a large extent, this is a prototype of where we want to be, as we'll be reworking fidl quite a bit in coming months. So the focus now is to learn where the rough edges are, and also be able to meaningfully do performance measurements (not realistic when doing a sync request spawns a new thread). We are seeing more boxing than we'd like, which hopefully will improve with "impl Trait".
Huge shout-out to Taylor Cramer for landing the Fuchsia port of mio, and to Tristan Hume for pairing with me on this work - the commits with my name on them are very much joint work. Also thanks to Alex Crichton and Carl Lerche for releasing the 0.6.10 version of mio with Fuchsia support.
Very happy to answer any questions.
Raph