aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2004-03-25 13:37:18 +0000
committerDaniel Stenberg <daniel@haxx.se>2004-03-25 13:37:18 +0000
commitbb3d6e8552f428bd0c2624854403d36ab3cf163d (patch)
tree3844a61e49ad9a1bdddd671681bfc1845f04ce95 /src
parent189c2f498987e443836aada953ace7795202e350 (diff)
tcp-nodelay patch by Joe Halpin
Diffstat (limited to 'src')
-rw-r--r--src/main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 485901fcd..31a9e632a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -294,6 +294,7 @@ static void help(void)
" --disable-epsv Prevent curl from using EPSV (F)",
" -D/--dump-header <file> Write the headers to this file",
" --egd-file <file> EGD socket path for random data (SSL)",
+ " --tcp-nodelay Set the TCP_NODELAY option",
#ifdef USE_ENVIRONMENT
" --environment Write result codes to environment variables (RISC OS)",
#endif
@@ -506,6 +507,8 @@ struct Configurable {
bool ftp_ssl;
char *socks5proxy;
+
+ bool tcp_nodelay;
};
/* global variable to hold info about libcurl */
@@ -1140,6 +1143,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
{"$a", "ftp-ssl", FALSE},
{"$b", "ftp-pasv", FALSE},
{"$c", "socks5", TRUE},
+ {"$d", "tcp-nodelay",FALSE},
{"0", "http1.0", FALSE},
{"1", "tlsv1", FALSE},
{"2", "sslv2", FALSE},
@@ -1463,6 +1467,9 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
case 'c': /* --socks specifies a socks5 proxy to use */
GetStr(&config->socks5proxy, nextarg);
break;
+ case 'd': /* --tcp-nodelay option */
+ config->tcp_nodelay ^= TRUE;
+ break;
}
break;
case '#': /* added 19990617 larsa */
@@ -3112,6 +3119,9 @@ operate(struct Configurable *config, int argc, char *argv[])
}
#endif
+ if(1 == config->tcp_nodelay)
+ curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, 1);
+
curl_easy_setopt(curl, CURLOPT_SSLENGINE, config->engine);
curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 1);