A Deep Dive into Tower
- Track: Rust devroom
- Room: H.1308 (Rolin)
- Day: Saturday
- Start: 16:00
- End: 16:40
- Video only: h1308
- Chat: Join the conversation!
Tower is a crate of “modular and reusable components for building robust networking clients and servers” widely used in prominent projects within the Rust ecosystem, including Hyper*, Axum, or Tonic. This ubiquity means Rust developers invariably engage with the Service
trait, Tower's core abstraction, while working with these libraries. Despite its conciseness, reading and understanding code that abstracts over the Service
trait proves challenging because of the heavy use of generics and intricacies of implementing non-boxed futures. This complexity raises the learning curve for beginner and intermediate Rust developers to become proficient in their favorite frameworks. In this talk, we will demystify the Service
trait, explore practical examples from real-world codebases, and construct increasingly complex Tower layers from scratch.
*Hyper actually relies on its own very similar hyper::Service
trait.
Speakers
Adrien Guillo |