DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

CURLOPT_TCP_NODELAY(3)





CURLOPT_TCP_NODELAY(3curl_easy_setopt optionCURLOPT_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 nodelay);


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 Max-
     imum 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 segments may need to be sent without delay.
     This  is  less efficient than sending larger amounts of data
     at a time, and can contribute to congestion 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


SEE ALSO

     CURLOPT_SOCKOPTFUNCTION(3), CURLOPT_TCP_KEEPALIVE(3),

libcurl 7.58.0    Last change: January 15, 2018                 1


Man(1) output converted with man2html