tower/tower
Jon Gjengset 1c2d50680a
Spring cleaning for tower::balance (#449)
Noteworthy changes:

 - All constructors now follow the same pattern: `new` uses OS entropy,
   `from_rng` takes a `R: Rng` and seeds the randomness from there.
   `from_rng` is fallible, since randomness generators can be fallible.
 - `BalanceLayer` was renamed to `MakeBalanceLayer`, since it is not
   _really_ a `BalanceLayer`. The name of `BalanceMake` was also
   "normalized" to `MakeBalance`.

Another observation: the `Debug` bound on `Load::Metric` in
`p2c::Balance`, while not particularly onerous, generates really
confusing errors if you forget it include it. And crucially, the error
never points at `Debug` (should we file a compiler issue?), so I pretty
much had to guess my way to that being wrong in the doc example.

It would probably be useful to add a documentation example to
`MakeBalanceLayer` or `MakeBalance` (I suspect just one of them is fine,
since they're basically the same). Since I've never used it, and find it
hard to think of uses for it, it might be good if someone with more
experience with it wrote one.
2020-04-24 13:21:11 -04:00
..
examples Spring cleaning for tower::balance (#449) 2020-04-24 13:21:11 -04:00
src Spring cleaning for tower::balance (#449) 2020-04-24 13:21:11 -04:00
tests Spring cleaning for tower::balance (#449) 2020-04-24 13:21:11 -04:00
CHANGELOG.md step 1: move all things to where they're going 2020-03-31 13:31:21 -04:00
Cargo.toml Tidy up tower::load (#445) 2020-04-20 14:55:40 -04:00
LICENSE Prepare release (#273) 2019-04-26 21:31:25 -07:00
README.md Prepare release (#273) 2019-04-26 21:31:25 -07:00

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.