| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- .\" generated by cd2nroff 0.1 from CURLOPT_TCP_FASTOPEN.md
- .TH CURLOPT_TCP_FASTOPEN 3 "2025-01-17" libcurl
- .SH NAME
- CURLOPT_TCP_FASTOPEN \- TCP Fast Open
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_FASTOPEN, long enable);
- .fi
- .SH DESCRIPTION
- Pass a long as parameter set to 1L to enable or 0 to disable.
- TCP Fast Open (RFC 7413) is a mechanism that allows data to be carried in the
- SYN and SYN\-ACK packets and consumed by the receiving end during the initial
- connection handshake, saving up to one full round\-trip time (RTT).
- Beware: the TLS session cache does not work when TCP Fast Open is enabled. TCP
- Fast Open is also known to be problematic on or across certain networks.
- .SH DEFAULT
- 0
- .SH PROTOCOLS
- This functionality affects all supported protocols
- .SH EXAMPLE
- .nf
- int main(void)
- {
- CURL *curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
- curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, 1L);
- curl_easy_perform(curl);
- }
- }
- .fi
- .SH NOTES
- This option is only supported on Linux and macOS 10.11 or later.
- .SH AVAILABILITY
- Added in curl 7.49.0
- .SH RETURN VALUE
- Returns CURLE_OK if fast open is supported by the operating system, otherwise
- returns CURLE_NOT_BUILT_IN.
- .SH SEE ALSO
- .BR CURLOPT_SSL_FALSESTART (3)
|