curl_easy_pause man page on Cygwin

Man page or keyword search:  
man Server   22533 pages
apropos Keyword Search (all sections)
Output format
Cygwin logo
[printable version]

curl_easy_pause(3)		libcurl Manual		    curl_easy_pause(3)

NAME
       curl_easy_pause - pause and unpause a connection

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_pause(CURL *handle, int bitmask );

DESCRIPTION
       Using  this  function,  you can explicitly mark a running connection to
       get paused, and you  can	 unpause  a  connection	 that  was  previously
       paused.

       A  connection  can  be  paused by using this function or by letting the
       read or the  write  callbacks  return  the  proper  magic  return  code
       (CURL_READFUNC_PAUSE  and  CURL_WRITEFUNC_PAUSE). A write callback that
       returns pause signals to the library that it couldn't take care of  any
       data at all, and that data will then be delivered again to the callback
       when the writing is later unpaused.

       While it may feel tempting, take care and notice that you  cannot  call
       this function from another thread. To unpause, you may for example call
       it from the progress callback (see  curl_easy_setopt(3)'s  CURLOPT_PRO‐
       GRESSFUNCTION), which gets called at least once per second, even if the
       connection is paused.

       When this function is called to unpause reading,	 the  chance  is  high
       that  you  will	get  your  write  callback called before this function
       returns.

       The handle argument is of course identifying the handle	that  operates
       on the connection you want to pause or unpause.

       The  bitmask  argument  is a set of bits that sets the new state of the
       connection. The following bits can be used:

       CURLPAUSE_RECV
	      Pause receiving data. There will be no  data  received  on  this
	      connection  until this function is called again without this bit
	      set. Thus, the write callback (CURLOPT_WRITEFUNCTION)  won't  be
	      called.

       CURLPAUSE_SEND
	      Pause  sending  data. There will be no data sent on this connec‐
	      tion until this function is called again without this  bit  set.
	      Thus, the read callback (CURLOPT_READFUNCTION) won't be called.

       CURLPAUSE_ALL
	      Convenience define that pauses both directions.

       CURLPAUSE_CONT
	      Convenience define that unpauses both directions

RETURN VALUE
       CURLE_OK	 (zero) means that the option was set properly, and a non-zero
       return code means something wrong occurred after the new state was set.
       See the libcurl-errors(3) man page for the full list with descriptions.

AVAILABILITY
       This  function  was added in libcurl 7.18.0. Before this version, there
       was no explicit support for pausing transfers.

USAGE WITH THE MULTI-SOCKET INTERFACE
       Before libcurl 7.32.0, when a specific handle was  unpaused  with  this
       function,  there	 was no particular forced rechecking or similar of the
       socket's state, which made the continuation of the transfer get delayed
       until  next multi-socket call invoke or even longer. Alternatively, the
       user could forcibly call for example curl_multi_socket_all(3) - with  a
       rather hefty performance penalty.

       Starting	 in libcurl 7.32.0, unpausing a transfer will schedule a time‐
       out trigger for that handle 1 millisecond into the future,  so  that  a
       curl_multi_socket_action(  ... CURL_SOCKET_TIMEOUT) can be used immedi‐
       ately afterwards to get the transfer going again as desired.

MEMORY USE
       When pausing a read by returning the magic return  code	from  a	 write
       callback,  the  read  data  is already in libcurl's internal buffers so
       it'll have to keep it in an allocated buffer until the reading is again
       unpaused using this function.

       If  the	downloaded data is compressed and is asked to get uncompressed
       automatically on download, libcurl  will	 continue  to  uncompress  the
       entire  downloaded  chunk and it will cache the data uncompressed. This
       has the side- effect that if you download something that is  compressed
       a  lot,	it  can result in a very large data amount needing to be allo‐
       cated to save the data during the pause. This said, you should probably
       consider	 not  using  paused reading if you allow libcurl to uncompress
       data automatically.

SEE ALSO
       curl_easy_cleanup(3), curl_easy_reset(3)

libcurl 7.18.0			  17 Dec 2007		    curl_easy_pause(3)
[top]

List of man pages available for Cygwin

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net