The Rust Programming Language
Standard Library API Reference
Rust by Example
The Cargo Guide
Crates from Carl Lerche
Failures By Stars
Rust friendly bindings to *nix APIs
Tower is a library of modular and reusable components for building robust clients and servers.
Immediately reject requests if the inner service is not ready. This is also known as load-shedding.
Automatically recreate a new `Service` instance when an error is encountered.
Abstracts over service discovery strategies.
Retry failed requests.
Buffer requests before dispatching to a `Service`.
Balance load across a set of uniform services.
Decorates a `Service` to allow easy composition between `Service`s.
Trait representing an asynchronous, request / response based, client or server.
Utilities for working with `Service`.
Apply a timeout to requests, ensuring completion within a fixed time duration.
Limit maximum request rate to a `Service`.
Utilities for writing client and server `Service` tests.
Trait aliases for Services that produce specific types of Responses.
Web framework with a focus on removing boilerplate
Macros for tower-web
An HTTP/2.0 client and server
Application-level tracing for Rust.
A network application framework for rapid development and highly scalable production deployments of clients and servers.
Rust bindings to libcurl for making HTTP requests
Native bindings to the libcurl library
Core I/O and event loop primitives for asynchronous I/O in Rust. Foundation for the rest of the tokio crates.
Permutation testing for concurrent code
A client and server gRPC implementation based on Tower.
Code generation for tower-grpc
A set of types for representing HTTP requests and responses.
Types and traits for working with bytes
An incomplete implementation of a Rust client and server. Used as a larger example of an idiomatic Tokio application.
Future & Stream abstraction