-
Notifications
You must be signed in to change notification settings - Fork 462
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The main differences are: - hyper requires service futures to be `Send`, which rippled through most types in the codebase. This is because it uses the new tokio thread-pool runtime under the hood instead of the old tokio-core single-threaded executor. - Replace our use of tokio-core with tokio, and update other tokio-related crates, for the same reason. Tests continue to use the single-threaded runtime. Some deps like tokio_tcp are re-exported from the tokio crate, so they've been removed. - The implicit tokio runtime means that the code no longer needs to pass `tokio_core::Handle` around, so `Handle` parameters have been removed from various structs and constructors. - hyper's `Connect` and `Service` traits now have a different meaning. - `Connect` is only meant to be used with things that provide a transport, and not for clients in general. - `Service` is only meant for server-type services, must be Send, and takes `&mut self` since new Service values are generated by the NewService impl for each client connection. The code relied on a default `Connect` impl for all `Service` impls that took a `Uri` as input, and used these `Service` impls for HTTP clients. The equivalent of this for most cases is now provided through our own new `ClientImpl` trait. - hyper no longer provides HTTP header types. Use the typed-headers crate for these. However `typed-headers::Authorization` is not as flexible as hyper 0.11's type was (does not allow arbitrary values like our SAS tokens), so this has been reverted to use raw headers. - HSM operations used to be done without any synchronization, relying on the underlying runtime being a single specific thread (the tokio_core runtime). They now use a `Mutex`, allowing HSM impls to assume that only one thread accesses them at a time, but it is not necessarily the *same* thread. In other words, HSM impls do not need to be `Sync`, but they *must* be `Send`. Other changes: - Temporarily disable parallel codegen for VSTS builds. ld crashes in the Linux amd64 Test job with a non-descript error. Disabling parallel codegen appears to help, probably because it reduces the number of objects the linker needs to link. - Fix `DockerModuleRuntime::list()` to log errors if the API call fails. - Replace the clippy docker image with a pinned nightly. The docker image was broken when running as non-root anyway. - Deny unused extern crates warning, and remove unused deps. Some other dev-deps were target-specific and have been marked as such in Cargo.toml
- Loading branch information
Showing
143 changed files
with
4,401 additions
and
4,401 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.