Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This branch updates the proxy to use Tokio 0.3 and the Tokio 0.3 versions of various ecosystem crates. This includes `tower` 0.4 and `bytes` 0.6, as well as the Tokio 0.3 versions of `tokio-util`, `hyper`, `tonic`, etc. Due to API changes in Tokio and in other dependencies, it was necessary to make some code changes as well as updating dependencies, but there should be no functional change. In particular: * Tokio's support for vectored IO changed significantly in 0.3, so this branch updates our use of `AsyncWrite` to participate in the new vectored write APIs * Hyper's HTTP/1.1 upgrade API changed in 0.14, so this branch changes the proxy's code for handling CONNECT to use the new API * Tokio removed support for some socket options, which now need to be set using `socket2` * Tokio removed the `poll_ready` method was removed from the bounded MPSC channel, so the proxy's buffers (`linkerd2-buffer` and the `buffer` module in `linkerd2-proxy-discover`) had to be switched to our own implementation (this merged separately, in PR #759). Several ecosystem crates have yet to be released, so we depend on them via Git dependencies for now. The patches in Cargo.toml can be removed as other dependencies publish their Tokio 0.3 versions.
- Loading branch information