Random Musings and Stuff I Should Remember

Important Crates

syn - parsing library

Usually used for writing procedural macros, typically in conjunction with quote and proc-macro.

tokio

Plus all of these crates that fall under the umbrella of tokio:

  • hyper: A fast and correct HTTP/1.1 and HTTP/2 implementation for Rust.

  • tonic: A gRPC over HTTP/2 implementation focused on high performance, interoperability, and flexibility.

  • warp: A super-easy, composable, web server framework for warp speeds.

  • tower: A library of modular and reusable components for building robust networking clients and servers.

  • tracing (formerly tokio-trace): A framework for application-level tracing and async-aware diagnostics.

  • rdbc: A Rust database connectivity library for MySQL, Postgres and SQLite.

  • mio: A low-level, cross-platform abstraction over OS I/O APIs that powers tokio.

  • bytes: Utilities for working with bytes, including efficient byte buffers.

  • loom: A testing tool for concurrent Rust code

Other Thoughts

= does not mean assignment!

Stop thinking of let x = y; as "assign the value of y to x". Rather, think of it as "Move the value in memory owned by y to x (thereby giving x ownership)",