You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit cfdab98
Browse filesBrowse the repository at this point in the historyBrowse files
After the TCP connect the socket is blocking and bio_recv called recv
without waiting unless a stop token was attached, so a server or an
https:// proxy that accepted the connection and never sent its
ServerHello held send(), send_stream() and download_to_file() for good.
setup_tls now sets a deadline on the socket at the bottom for the
duration of the handshake. bio_recv waits against it (and against the
token, if any) through Socket::wait_before_recv, and a handshake that
runs out of time fails with "TLS handshake timed out". The deadline
covers the handshake with the target, with an https:// proxy and with
the target inside an https:// proxy's tunnel. connect_over takes the
timeout as a trailing argument; -1, the default, waits without limit.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,7 +79,7 @@ includes in that file, or use libc++ 23 or libstdc++.
79
79
80
80
| field | default | what it decides |
81
81
| --- | --- | --- |
82
-
|`connectTimeoutMs`| 10000 | TCP connect |
82
+
|`connectTimeoutMs`| 10000 |setting up the connection: the TCP connect, each wait for a proxy's reply, and the TLS handshake, with the proxy and with the target (the handshake as a whole, not each read in it)|
83
83
|`readTimeoutMs`| 60000 | any single read, and the total wait on a blocked write |
84
84
|`verifySsl`| true | verify the server certificate against the CA bundle (`SSL_CERT_FILE`, else the Windows `ROOT` certificate store in Windows Sockets builds, else a system location); the connection fails if the certificate is not trusted, has expired or is for another host, or if no bundle is found |
85
85
|`keepAlive`| true | reuse connections between requests |
0 commit comments