diff options
author | Daniel Stenberg <daniel@haxx.se> | 2004-04-13 07:16:26 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2004-04-13 07:16:26 +0000 |
commit | 4e3aa250c4ab02a6daaebba3282faf34c89f9ba9 (patch) | |
tree | be5b8d8953b4803079e078cf3faeadb539219265 | |
parent | 3647a6ddcd3ccdceeeb0d1d18ed792f36acf87c1 (diff) |
Moved the 'tcp_nodelay' member to the proper 'UserDefined' struct within the
sessionhandle to make the duphandle() function work as supposed. Also tried
to start document functions the doxygen way (in the headers of the functions).
Can't make it work though...
-rw-r--r-- | lib/connect.c | 6 | ||||
-rw-r--r-- | lib/url.c | 19 | ||||
-rw-r--r-- | lib/urldata.h | 6 |
3 files changed, 22 insertions, 9 deletions
diff --git a/lib/connect.c b/lib/connect.c index b58a8be5d..8bb4e2c43 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -489,7 +489,7 @@ static void Curl_setNoDelay(struct connectdata *conn, { #ifdef TCP_NODELAY struct SessionHandle *data= conn->data; - socklen_t onoff = (socklen_t) data->tcp_nodelay; + socklen_t onoff = (socklen_t) data->set.tcp_nodelay; if(setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (void *)&onoff, sizeof(onoff)) < 0) infof(data, "Could not set TCP_NODELAY: %s\n", @@ -580,7 +580,7 @@ CURLcode Curl_connecthost(struct connectdata *conn, /* context */ if (sockfd == CURL_SOCKET_BAD) continue; - else if(data->tcp_nodelay) + else if(data->set.tcp_nodelay) Curl_setNoDelay(conn, sockfd); #else /* @@ -601,7 +601,7 @@ CURLcode Curl_connecthost(struct connectdata *conn, /* context */ return CURLE_COULDNT_CONNECT; /* big time error */ } - else if(data->tcp_nodelay) + else if(data->set.tcp_nodelay) Curl_setNoDelay(conn, sockfd); /* nasty address work before connect can be made */ @@ -246,6 +246,14 @@ CURLcode Curl_close(struct SessionHandle *data) return CURLE_OK; } +/** + * Curl_open() + * + * @param curl is a pointer to a sessionhandle pointer that gets set by this + * function. + * @return CURLcode + */ + CURLcode Curl_open(struct SessionHandle **curl) { /* We don't yet support specifying the URL at this point */ @@ -1308,7 +1316,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...) * Enable or disable TCP_NODELAY, which will disable/enable the Nagle * algorithm */ - data->tcp_nodelay = va_arg(param, long); + data->set.tcp_nodelay = va_arg(param, long); break; default: @@ -1968,13 +1976,20 @@ CURLcode Curl_protocol_connect(struct connectdata *conn, return result; /* pass back status */ } -/* +/** * CreateConnection() sets up a new connectdata struct, or re-uses an already * existing one, and resolves host name. * * if this function returns CURLE_OK and *async is set to TRUE, the resolve * response will be coming asynchronously. If *async is FALSE, the name is * already resolved. + * + * @param data The sessionhandle pointer + * @param in_connect is set to the next connection data pointer + * @param addr is set to the new dns entry for this connection + * @param async is set TRUE/FALSE depending on the nature of this lookup + * @return CURLcode + * @see SetupConnection() */ static CURLcode CreateConnection(struct SessionHandle *data, diff --git a/lib/urldata.h b/lib/urldata.h index 4f53d8412..fb1150468 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -889,8 +889,9 @@ struct UserDefined { bool ftp_use_eprt; /* if EPRT is to be attempted or not */ curl_ftpssl ftp_ssl; /* if AUTH TLS is to be attempted etc */ bool no_signal; /* do not use any signal/alarm handler */ + bool global_dns_cache; /* subject for future removal */ + bool tcp_nodelay; /* whether to enable TCP_NODELAY or not */ - bool global_dns_cache; }; /* @@ -918,9 +919,6 @@ struct SessionHandle { #if defined(USE_SSLEAY) && defined(HAVE_OPENSSL_ENGINE_H) ENGINE* engine; #endif /* USE_SSLEAY */ - - /* This tells CreateConnection() whether to enable TCP_NODELAY or not */ - int tcp_nodelay; }; #define LIBCURL_NAME "libcurl" |