-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Tweak the meaning of HTTP timeouts #1564
Conversation
Primarily pick up an update to curl-rust which transitively means we need to update openssl for other deps
r? @huonw (rust_highfive has picked a reviewer for you, use r? to override) |
@bors r+ |
📌 Commit 35b871c has been approved by |
⌛ Testing commit 35b871c with merge ceafa2b... |
💔 Test failed - cargo-win-32 |
35b871c
to
c81e2e5
Compare
⌛ Testing commit c81e2e5 with merge 83f4535... |
💔 Test failed - cargo-mac-64 |
c81e2e5
to
90097a3
Compare
⌛ Testing commit 90097a3 with merge 15f76b7... |
💔 Test failed - cargo-win-64 |
Previously a timeout was set via libcurl's blanket timeout option, which is a timeout for the entire request. This isn't always what we want, however, as cargo is used on quite a variety of networks. Instead what we really want is timing out data being received, so instead of a blanket timeout we set two different timeouts: * The connect timeout is now configured (time it takes to connect the socket) * A "low speed" timeout is now also set. This means that if Cargo doesn't receive 10 bytes of data in the specified tiemout period that the entire transfer will be timed out. Closes rust-lang#1560
90097a3
to
923c2f2
Compare
Previously a timeout was set via libcurl's blanket timeout option, which is a timeout for the entire request. This isn't always what we want, however, as cargo is used on quite a variety of networks. Instead what we really want is timing out data being received, so instead of a blanket timeout we set two different timeouts: * The connect timeout is now configured (time it takes to connect the socket) * A "low speed" timeout is now also set. This means that if Cargo doesn't receive 10 bytes of data in the specified tiemout period that the entire transfer will be timed out. Closes #1560
☀️ Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-32, cargo-win-64 |
Previously a timeout was set via libcurl's blanket timeout option, which is a
timeout for the entire request. This isn't always what we want, however, as
cargo is used on quite a variety of networks. Instead what we really want is
timing out data being received, so instead of a blanket timeout we set two
different timeouts:
receive 10 bytes of data in the specified tiemout period that the entire
transfer will be timed out.
Closes #1560