Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: tower-rs/tower
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: tower-0.4.8
Choose a base ref
...
head repository: tower-rs/tower
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: tower-0.4.9
Choose a head ref
  • 7 commits
  • 55 files changed
  • 3 contributors

Commits on Jun 6, 2021

  1. Configuration menu
    Copy the full SHA
    31dbc90 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2021

  1. docs: add "Building a middleware from scratch" guide (#590)

    This adds a guide that explains how to implement a middleware from scratch without taking any shortcuts. It walks through implementing `Timeout` as it exists in Tower today.
    
    The hope is that once users have read [the previous guide](https://tokio.rs/blog/2021-05-14-inventing-the-service-trait) followed by this one they should be fully equipped to implement their own middleware.
    davidpdrsn authored Jun 7, 2021
    Configuration menu
    Copy the full SHA
    7776019 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2021

  1. Migrate to pin project lite (#595)

    * REMOVE ME updates peak_wema test to pass
    
    * adds pin_project_lite dependency
    
    * uses pin_project_lite for load::Constant
    
    * uses pin_project_lite for load::PencingRequestsDiscover
    
    * uses pin_project_lite for load::PeakEwma
    
    * uses pin_project_lite for load::Completion
    
    * uses pin_project_lite for tests::support::IntoStream
    
    Turns IntoStream into a regular struct because pin_project_lite does not and will support tuple structs.
    
    https://github.com/taiki-e/pin-project-lite/blob/416be96f7777862c68b567c92a91887f69a8c2b3/src/lib.rs#L401-L408
    
    * refactors opaque_future into a regular struct
    
    This enables migration to pin_project_lite, which does not and will not support tuple structs
    https://github.com/taiki-e/pin-project-lite/blob/416be96f7777862c68b567c92a91887f69a8c2b3/src/lib.rs#L401-L408
    
    * migrates opaque_future to use pin_project_lite
    
    * removes tuple variant from load_shed::ResponseState enum
    
    * migrates load_shed::future to pin_project_lite
    
    * removes tuple variant from filter::future::State
    
    * migrates filter::future to pin_project_lite
    
    Note: the doc comment on AsyncResponseFuture::service was also reduced to a regular comment.
    
    This is a known limitation of pin_project_lite that the they have labeled as "help wanted".
    taiki-e/pin-project-lite#3 (comment)
    
    * migrates retry::Retry to pin_project_lite
    
    * refactors retry::future::State to enable pin_project_lite
    
    pin_project_lite has the current limitation of nto supporting doc comments
    taiki-e/pin-project-lite#3 (comment)
    
    pin_project_lite does not and will not support tuple variants
    https://github.com/taiki-e/pin-project-lite/blob/416be96f7777862c68b567c92a91887f69a8c2b3/src/lib.rs#L401-L408
    
    * migrates retry::future to pin_project_lite
    
    * migrates spawn_ready::make to pin_project_lite
    
    * refactors buffer::future::ResponseState to allow pin_project_lite
    
    * migrates buffer::future to pin_project_lite
    
    * refactors util::AndThenFuture to allow pin_project_lite
    
    * migrates util::AndThenFuture to pin_project_lite
    
    * migrates hedge::Future to pin_project_lite
    
    * migrates hedge::select::ResponseFuture to pin_project_lite
    
    * refactors hedge::delay enum for pin_project_lite
    
    * refactors reconnect::future enum for pin_project_lite
    
    * refactors oneshot::State enum for pin_project_lite
    
    * migrates util::oneshot to pin_project_lite
    
    * migrates reconnect::future to pin_project_lite
    
    * migrates hedge::delay to pin_project_lite
    
    * migrates hedge::latency to pin_project_lite
    
    * migrates discover::list to pin_project_lite
    
    * migrates timeout::future to pin_project_lite
    
    * migrates balance::pool to pin_project_lite
    
    * migrates balance::p2c::make to pin_project_lite
    
    * migrates balance::p2c::service to pin_project_lite
    
    * migrates call_all::ordered to pin_project_lite
    
    * migrates call_all::common to pin_project_lite
    
    * migrates call_all::unordered to pin_project_lite
    
    * migrates util::optional::future to pin_project_lite
    
    * migrates limit::concurrency::future to pin_project_lite
    
    * migrates tower-balance example to pin_project_lite
    
    * applies cargo fmt
    
    * migrates tower-test to pin_project_lite
    
    * fixes cargo hack check
    
    peak_wma and pending_requests will now properly compile without the "discover" feature enabled.
    
    * fixes lint rename warning on nightly
    
    broken_intra_doc_links has been renamed to rustdoc::broken_intra_doc_links
    
    * migrates buffer::Worker to pin_project_lite
    
    pin_project_lite does support PinnedDrop
    https://github.com/taiki-e/pin-project-lite/pull/25/files
    
    However, it does not support generic trait bounds on the PinnedDrop impl.
    
    To workaround this, I removed the T::Error bound from the Worker struct definition,
    and moved `close_semaphore` to a a new impl without that trait bound.
    
    * fixes abort_on_drop test
    
    This test was also failing on master.
    
    * applies cargo fmt
    Michael-J-Ward authored Jul 28, 2021
    Configuration menu
    Copy the full SHA
    ee131aa View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2021

  1. Configuration menu
    Copy the full SHA
    3a134ba View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2021

  1. Configuration menu
    Copy the full SHA
    d91c0f5 View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2021

  1. builder: Add ServiceBuilder::and_then (#601)

    This one was missing.
    
    Was the only combinator from `ServiceExt` that wasn't on
    `ServiceBuilder` so now they match.
    davidpdrsn authored Sep 4, 2021
    Configuration menu
    Copy the full SHA
    c4cb3b0 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2021

  1. tower: prepare to release 0.4.9 (#602)

    - Migrate to pin-project-lite ([#595])
    - **builder**: Implement `Layer` for `ServiceBuilder` ([#600])
    - **builder**: Add `ServiceBuilder::and_then` analogous to
      `ServiceExt::and_then` ([#601])
    
    [#600]: #600
    [#601]: #601
    [#595]: #595
    [pin-project-lite]: https://crates.io/crates/pin-project-lite
    davidpdrsn authored Oct 14, 2021
    Configuration menu
    Copy the full SHA
    62e0902 View commit details
    Browse the repository at this point in the history
Loading