mirror of
https://github.com/curl/curl.git
synced 2025-02-05 14:30:10 +08:00
c31041b17e
This adds connection shutdown infrastructure and first use for FTP. FTP data connections, when not encountering an error, are now shut down in a blocking way with a 2sec timeout. - add cfilter `Curl_cft_shutdown` callback - keep a shutdown start timestamp and timeout at connectdata - provide shutdown timeout default and member in `data->set.shutdowntimeout`. - provide methods for starting, interrogating and clearing shutdown timers - provide `Curl_conn_shutdown_blocking()` to shutdown the `sockindex` filter chain in a blocking way. Use that in FTP. - add `Curl_conn_cf_poll()` to wait for socket events during shutdown of a connection filter chain. This gets the monitoring sockets and events via the filters "adjust_pollset()" methods. This gives correct behaviour when shutting down a TLS connection through a HTTP/2 proxy. - Implement shutdown for all socket filters - for HTTP/2 and h2 proxying to send GOAWAY - for TLS backends to the best of their capabilities - for tcp socket filter to make a final, nonblocking receive to avoid unwanted RST states - add shutdown forwarding to happy eyeballers and https connect ballers when applicable. Closes #13904 |
||
---|---|---|
.. | ||
curl_msh3.c | ||
curl_msh3.h | ||
curl_ngtcp2.c | ||
curl_ngtcp2.h | ||
curl_osslq.c | ||
curl_osslq.h | ||
curl_quiche.c | ||
curl_quiche.h | ||
vquic_int.h | ||
vquic-tls.c | ||
vquic-tls.h | ||
vquic.c | ||
vquic.h |