Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document the library #33

Open
8 tasks
carllerche opened this issue Dec 11, 2017 · 2 comments
Open
8 tasks

Document the library #33

carllerche opened this issue Dec 11, 2017 · 2 comments
Labels
metabug Issues about issues themselves ("bugs about bugs") P-medium Medium priority T-docs Topic: documentation
Milestone

Comments

@carllerche
Copy link
Member

carllerche commented Dec 11, 2017

This is a meta issue tracking concepts that should be included as part of the documentation.

@davidbarsky
Copy link
Contributor

Regarding “Implement Service for Arc<MyType> to get around &mut requirement“, could this be done using arbitrary self types, or am I misunderstanding something?

@jonhoo jonhoo mentioned this issue Mar 31, 2020
33 tasks
@jonhoo jonhoo added metabug Issues about issues themselves ("bugs about bugs") P-medium Medium priority labels Mar 31, 2020
@jonhoo jonhoo added this to the v0.4 milestone Mar 31, 2020
@davidpdrsn davidpdrsn modified the milestones: v0.4, 0.5 Mar 1, 2021
@davidpdrsn
Copy link
Member

Improving the general documentation around Tower is something I would like to drive. I have seen several cases on Twitter and Reddit where people say that Tower seems cool but they don't really understand it. I also remember thinking the same thing when I first came to Tower.

I'm very open to suggestions about how to do this but my current plan is:

  1. Make sure all middlewares have examples in the docs. Trying to figure out how to use something from the types alone can be hard.
  2. Add examples of how to put all the pieces together and build an HTTP server and client with hyper. Our current number of examples isn't impressive 😅
  3. Write a guide similar to Tonic's helloworld guide that explains how to build a middleware from scratch.
  4. Link to the Tower deep dive stream I did some months ago. Several people have mentioned this helped them understand the concepts better.

I don't imagine we can get all this done before Tower 0.5 so don't think it should block that release.

davidpdrsn added a commit that referenced this issue May 14, 2021
This adds the first Tower guide called "Inventing the `Service` trait". It attempts to motivate all the parts to `Service` by walking the user through how they could have invented `Service` themselves, from scratch. It goes into quite a bit of detail but hopefully it paints a somewhat complete picture in the end.

The next guide I want to write is about how to implement a proper `Timeout` middleware using `Layer`, pin-project, and all the bells and whistles.

Ref: #33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
metabug Issues about issues themselves ("bugs about bugs") P-medium Medium priority T-docs Topic: documentation
Projects
None yet
Development

No branches or pull requests

4 participants