mirror of
https://github.com/tower-rs/tower.git
synced 2025-09-28 13:30:43 +00:00

CloneBoxService
(#615)
* util: add `CloneService` This upstreams a little utility I'm using a bunch in axum. Its often useful to erase the type of a service while still being able to clone it. `BoxService` isn't `Clone` previously you had to combine it with `Buffer` but doing that a lot (which we did in axum) had measurable impact on performance. * Address review feedback * remove needless trait bounds
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.
Minimum supported Rust version
tower's MSRV is 1.46.
Getting Started
If you're brand new to Tower and want to start with the basics we recommend you check out some of our guides.
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.
Description
Languages
Rust
100%