mirror of https://github.com/moparisthebest/curl
tool: add --tcp-fastopen option
This commit is contained in:
parent
8f72b13660
commit
d49087f6bc
|
@ -1742,6 +1742,8 @@ curl -T "img[1-1000].png" ftp://ftp.example.com/upload/
|
||||||
.IP "--tcp-nodelay"
|
.IP "--tcp-nodelay"
|
||||||
Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for
|
Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for
|
||||||
details about this option. (Added in 7.11.2)
|
details about this option. (Added in 7.11.2)
|
||||||
|
.IP "--tcp-fastopen"
|
||||||
|
Enable use of TCP Fast Open (RFC7413). (Added in 7.49.0)
|
||||||
.IP "--tftp-blksize <value>"
|
.IP "--tftp-blksize <value>"
|
||||||
(TFTP) Set TFTP BLKSIZE option (must be >512). This is the block size that
|
(TFTP) Set TFTP BLKSIZE option (must be >512). This is the block size that
|
||||||
curl will try to use when transferring data to or from a TFTP server. By
|
curl will try to use when transferring data to or from a TFTP server. By
|
||||||
|
|
|
@ -174,6 +174,7 @@ struct OperationConfig {
|
||||||
Kerberos 5 and SPNEGO */
|
Kerberos 5 and SPNEGO */
|
||||||
|
|
||||||
bool tcp_nodelay;
|
bool tcp_nodelay;
|
||||||
|
bool tcp_fastopen;
|
||||||
long req_retry; /* number of retries */
|
long req_retry; /* number of retries */
|
||||||
long retry_delay; /* delay between retries (in seconds) */
|
long retry_delay; /* delay between retries (in seconds) */
|
||||||
long retry_maxtime; /* maximum time to keep retrying */
|
long retry_maxtime; /* maximum time to keep retrying */
|
||||||
|
|
|
@ -229,6 +229,7 @@ static const struct LongShort aliases[]= {
|
||||||
{"Eq", "cert-status", FALSE},
|
{"Eq", "cert-status", FALSE},
|
||||||
{"Er", "false-start", FALSE},
|
{"Er", "false-start", FALSE},
|
||||||
{"Es", "ssl-no-revoke", FALSE},
|
{"Es", "ssl-no-revoke", FALSE},
|
||||||
|
{"Et", "tcp-fastopen", FALSE},
|
||||||
{"f", "fail", FALSE},
|
{"f", "fail", FALSE},
|
||||||
{"F", "form", TRUE},
|
{"F", "form", TRUE},
|
||||||
{"Fs", "form-string", TRUE},
|
{"Fs", "form-string", TRUE},
|
||||||
|
@ -1415,6 +1416,10 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
|
||||||
config->ssl_no_revoke = TRUE;
|
config->ssl_no_revoke = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 't': /* --tcp-fastopen */
|
||||||
|
config->tcp_fastopen = TRUE;
|
||||||
|
break;
|
||||||
|
|
||||||
default: /* certificate file */
|
default: /* certificate file */
|
||||||
{
|
{
|
||||||
char *certname, *passphrase;
|
char *certname, *passphrase;
|
||||||
|
|
|
@ -221,6 +221,7 @@ static const char *const helptext[] = {
|
||||||
" --ssl-no-revoke Disable cert revocation checks (WinSSL)",
|
" --ssl-no-revoke Disable cert revocation checks (WinSSL)",
|
||||||
" --stderr FILE Where to redirect stderr (use \"-\" for stdout)",
|
" --stderr FILE Where to redirect stderr (use \"-\" for stdout)",
|
||||||
" --tcp-nodelay Use the TCP_NODELAY option",
|
" --tcp-nodelay Use the TCP_NODELAY option",
|
||||||
|
" --tcp-fastopen Use TCP Fast Open",
|
||||||
" -t, --telnet-option OPT=VAL Set telnet option",
|
" -t, --telnet-option OPT=VAL Set telnet option",
|
||||||
" --tftp-blksize VALUE Set TFTP BLKSIZE option (must be >512)",
|
" --tftp-blksize VALUE Set TFTP BLKSIZE option (must be >512)",
|
||||||
" --tftp-no-options Do not send TFTP options requests",
|
" --tftp-no-options Do not send TFTP options requests",
|
||||||
|
|
|
@ -794,6 +794,9 @@ static CURLcode operate_do(struct GlobalConfig *global,
|
||||||
if(config->tcp_nodelay)
|
if(config->tcp_nodelay)
|
||||||
my_setopt(curl, CURLOPT_TCP_NODELAY, 1L);
|
my_setopt(curl, CURLOPT_TCP_NODELAY, 1L);
|
||||||
|
|
||||||
|
if(config->tcp_fastopen)
|
||||||
|
my_setopt(curl, CURLOPT_TCP_FASTOPEN, 1L);
|
||||||
|
|
||||||
/* where to store */
|
/* where to store */
|
||||||
my_setopt(curl, CURLOPT_WRITEDATA, &outs);
|
my_setopt(curl, CURLOPT_WRITEDATA, &outs);
|
||||||
if(metalink || !config->use_metalink)
|
if(metalink || !config->use_metalink)
|
||||||
|
|
Loading…
Reference in New Issue