Today's post is yet more about Rust, following up to my last two posts (here and here).
Rust proper appears to have no support for asynchronous, nor even,
really, event-driven programming. In itself, this is fair; neither,
for example, does C. But, unlike C, Rust does not seem to have support
enough to add it. There appear to be various libraries that do async
I/O in various styles (threaded, event-driven, etc). None of them look
mature, and, indeed some of the underlying language features
(async
, futures, etc) appear to exist only in nightly
builds. There is a `book' (a bunch of Webpages; I wouldn't really call
it fair to call it a book) about async Rust, but even its
table-of-contents sidebar is about twenty percent `TODO' entries, and
it outright says that the underlying language features are still very
much a moving target.
So, it appears my difficulty last week was at least partially stemming from my picking a task Rust is not (yet?) well-suited to.
Unfortunately, it is not that far from being a microcosm of what work was considering using Rust for.