// the find
tower-rs/tower-grpc
A gRPC client & server implementation.
tower-grpc is the predecessor to tonic — a gRPC client/server implementation built on Tower middleware, using the old futures 0.1 API. It has been explicitly superseded; the README tells you to go use tonic instead. This is a dead repo.
The Tower middleware integration is architecturally clean — gRPC calls compose with the same layer/service model as any other Tower service, so middleware like timeouts and retries applies uniformly. The code generation approach (separate tower-grpc-build crate, proto-driven codegen at build time) is the right pattern and carried forward into tonic. The interop test suite with a Go server in docker-compose shows the authors cared about correctness against the spec, not just self-tests. All four gRPC streaming modes (unary, client, server, bidirectional) are present.
Abandoned in 2019 and frozen on futures 0.1 — the pre-async/await Rust ecosystem. Using this today means opting into a compatibility shim hell that the Rust ecosystem mostly moved past years ago. No async/await support at all. The documentation is thin: a README pointing elsewhere and API docs that may not even build against current Rust. Zero reason to start a new project here when tonic exists and is actively maintained.