Chronology of what was authored in the year 2019
serde This was presented at the Vancouver Rust programming language meeting of 17 April 2019 and covers a powerful library, where paradoxically one benefits by writing less code overall.
serde By Writing Less Rust Code
mio in Rust Two years into using the Rust programming language as a primary language, time arrived for getting back to lower-level work of non-blocking networking calls.
It had been a few years since using epoll() on Linux or kqueue()/kpoll() on FreeBSD or (then) MacOSX using C or Common Lisp, specifically SBCL.
While getting my sea-legs with such event loops for network socket TCP/IP streams for writing code for a challenge, here are a few nuggets worth passing along to others. That challenge was to spend less than a day implementing a minimal chat server with the hard constraint of using only one particular networking library beyond the included standard Rust library.
That one library is mio. Its name means "Metal I/O", but versions before Rust 1.0-stable identified it as "Mini IO".
Since mio is a thin wrapper around the OS event loop, it's worth noting the underlying behaviour. This applies to epoll on Linux, kqueue on BSD Unix and macOS, and select on other variants of Unix.
mio in Rust