395889c763
Rather than consuming `self` and returning `(Self, _)`. This did mean that a few crates that depended on `Ready` to own the `Service` and provide it once it was ready had to change to call `poll_ready` directly. Which in turn meant adding in some PhantomData<Request> so that the impl blocks wouldn't be under-constrainted. Take, for example: ``` impl<K, S: Service<Req>, Req> Future for UnreadyService<K, S> ``` would fail to compile with ``` error[E0207]: the type parameter `Req` is not constrained by the impl trait, self type, or predicates ``` |
||
---|---|---|
.. | ||
src | ||
tests | ||
CHANGELOG.md | ||
Cargo.toml | ||
LICENSE | ||
README.md |
README.md
Tower
Tower is a library of modular and reusable components for building robust networking clients and servers.
Overview
Tower aims to make it as easy as possible to build robust networking clients and servers. It is protocol agnostic, but is designed around a request / response pattern. If your protocol is entirely stream based, Tower may not be a good fit.
License
This project is licensed under the MIT license.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tower by you, shall be licensed as MIT, without any additional terms or conditions.