Async Programming in Rust
Async programming in Rust is a recent development, only having been stabilized in Rust
1.39. The async ecosystem is rapidly evolving, and SeaStreamer is an async-only library.
Third, there are multiple async runtimes in Rust.
tokio are the two most widely used in production, and SeaStreamer supports both of them. These async runtimes are multi-threaded, meaning that a Future may be moved between threads, but it can only happen at
.await points. There is true parallelism - so race condition and contention can and do happen.
Understanding these concepts is essential to get your hands on real-time async programming in Rust.