-
Notifications
You must be signed in to change notification settings - Fork 328
2020 tower spring cleaning #431
Copy link
Copy link
Closed
Labels
E-help-wantedCall for participation: Help is requested to fix this issue.Call for participation: Help is requested to fix this issue.E-mediumCall for participation: Experience needed to fix: Medium / intermediateCall for participation: Experience needed to fix: Medium / intermediateT-docsTopic: documentationTopic: documentationmetabugIssues about issues themselves ("bugs about bugs")Issues about issues themselves ("bugs about bugs")relnotesMarks issues that should be documented in the release notes of the next release.Marks issues that should be documented in the release notes of the next release.
Milestone
Metadata
Metadata
Assignees
Labels
E-help-wantedCall for participation: Help is requested to fix this issue.Call for participation: Help is requested to fix this issue.E-mediumCall for participation: Experience needed to fix: Medium / intermediateCall for participation: Experience needed to fix: Medium / intermediateT-docsTopic: documentationTopic: documentationmetabugIssues about issues themselves ("bugs about bugs")Issues about issues themselves ("bugs about bugs")relnotesMarks issues that should be documented in the release notes of the next release.Marks issues that should be documented in the release notes of the next release.
It's about time we made a serious push to make
tower"ready for public use". Here is a list of what should happen to make that a reality:tower-service) into a singletowercrate like tokio did. We should add features that enable and disable different middleware, with all features being off by default.FromorInto(see Migrate crates to useError: From<S::Error>#387). We should also think about Add section about not including sources in Display impl rust-lang/api-guidelines#210, and whether we want to stop printing the source when we print our errors.poll_ready(see Disarming Service after successful poll_ready #408, Make poll_ready() return a token which call() consumes #412, and Undoing a Sink::poll_ready rust-lang/futures-rs#2109).cargo-deny).#![deny(missing_docs)]) and basic usage examples + module docs. We should also tidy up theREADME+ crate docs + metadata while we're at it. See also Document the library #33.doc_cfgwhen running on docs.rs (see docs: annotate io mod with doc_cfg tokio-rs/tokio#1808), and enable all features on docs.rs (like docs: add docs.rs metadata to build with all features tokio-rs/tokio#1471)publish = false. We could make them non-pub, though that would make the tests stop working...tower::balance::p2c::layer()ortower::balance::p2c()as a shorthand fortower::balance::p2c::MakeBalanceLayer::new().Targetshould be renamed to a more understandable name. PerhapsEndpoint?For the per-crate/module docs cleanup, here are the things we need to do, what we have done, and who's going to do each one. If you want to make a pass over one of these, please post here to claim so we don't duplicate the work. As you make your pass, please also create issues for implementation and API issues you spot (for example,
limitshould probably not vendor parts oftokio::sync).tower-layertower-servicetower-test(@jonhoo)toweritselftower/balance(Spring cleaning for tower::balance #449)tower/buffer(Tidy up tower::buffer #444)tower/buildertower/discover(Change Discover to be a sealed trait #443)tower/filtertower/hedgetower/limittower/load(Tidy up tower::load #445)tower/load_shedtower/maketower/ready_cachetower/reconnecttower/retrytower/spawn_readytower/steertower/timeouttower/utilThings we would also like to do, but are not blockers: