Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019
 
 

CURLOPT_TCP_NODELAY (3)

Name

CURLOPT_TCP_NODELAY - set the TCP_NODELAY option

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_NODELAY, long node-
lay);

Description

CURLOPT_TCP_NODELAY(3)     curl_easy_setopt options     CURLOPT_TCP_NODELAY(3)



NAME
       CURLOPT_TCP_NODELAY - set the TCP_NODELAY option

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_NODELAY, long node-
       lay);

DESCRIPTION
       Pass a long specifying whether the TCP_NODELAY option is to be  set  or
       cleared  (1L = set, 0 = clear). The option is set by default. This will
       have no effect after the connection has been established.

       Setting this option to 1L will disable TCP's Nagle  algorithm  on  this
       connection.  The  purpose  of  this algorithm is to try to minimize the
       number of small packets on the network (where "small packets" means TCP
       segments less than the Maximum Segment Size (MSS) for the network).

       Maximizing  the  amount of data sent per TCP segment is good because it
       amortizes the overhead of the send. However, in some cases  small  seg-
       ments  may  need  to be sent without delay. This is less efficient than
       sending larger amounts of data at a time, and can contribute to conges-
       tion on the network if overdone.

DEFAULT
       1

PROTOCOLS
       All

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
         /* disable Nagle */
         curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, 0);
         curl_easy_perform(curl);
       }

AVAILABILITY
       Always. The default was changed to 1 from 0 in 7.50.2.

RETURN VALUE
       Returns CURLE_OK


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+
SEE ALSO
       CURLOPT_SOCKOPTFUNCTION(3), CURLOPT_TCP_KEEPALIVE(3),



NOTES
       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source    was    downloaded    from    https://github.com/curl/curl/ar-
       chive/curl-7_64_0.zip

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.50.0                    30 Jun 2016           CURLOPT_TCP_NODELAY(3)