curl_multi_setopt.3
上传用户:coffee44
上传日期:2018-10-23
资源大小:12304k
文件大小:4k
源码类别:

TAPI编程

开发平台:

Visual C++

  1. ." $Id: curl_multi_setopt.3,v 1.9 2008-12-28 21:56:56 bagder Exp $
  2. ."
  3. .TH curl_multi_setopt 3 "10 Oct 2006" "libcurl 7.16.0" "libcurl Manual"
  4. .SH NAME
  5. curl_multi_setopt - set options for a curl multi handle
  6. .SH SYNOPSIS
  7. #include <curl/curl.h>
  8. CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param);
  9. .SH DESCRIPTION
  10. curl_multi_setopt() is used to tell a libcurl multi handle how to behave. By
  11. using the appropriate options to fIcurl_multi_setopt(3)fP, you can change
  12. libcurl's behaviour when using that multi handle.  All options are set with
  13. the fIoptionfP followed by the parameter fIparamfP. That parameter can be
  14. a fBlongfP, a fBfunction pointerfP, an fBobject pointerfP or a
  15. fBcurl_off_tfP type, depending on what the specific option expects. Read
  16. this manual carefully as bad input values may cause libcurl to behave badly!
  17. You can only set one option in each function call.
  18. .SH OPTIONS
  19. .IP CURLMOPT_SOCKETFUNCTION
  20. Pass a pointer to a function matching the fBcurl_socket_callbackfP
  21. prototype. The fIcurl_multi_socket(3)fP functions inform the application
  22. about updates in the socket (file descriptor) status by doing none, one, or
  23. multiple calls to the curl_socket_callback given in the fBparamfP
  24. argument. They update the status with changes since the previous time a
  25. fIcurl_multi_socket(3)fP function was called. If the given callback pointer
  26. is NULL, no callback will be called. Set the callback's fBuserpfP argument
  27. with fICURLMOPT_SOCKETDATAfP.  See fIcurl_multi_socket(3)fP for more
  28. callback details.
  29. .IP CURLMOPT_SOCKETDATA
  30. Pass a pointer to whatever you want passed to the fBcurl_socket_callbackfP's
  31. forth argument, the userp pointer. This is not used by libcurl but only
  32. passed-thru as-is. Set the callback pointer with
  33. fICURLMOPT_SOCKETFUNCTIONfP.
  34. .IP CURLMOPT_PIPELINING
  35. Pass a long set to 1 to enable or 0 to disable. Enabling pipelining on a multi
  36. handle will make it attempt to perform HTTP Pipelining as far as possible for
  37. transfers using this handle. This means that if you add a second request that
  38. can use an already existing connection, the second request will be &"piped"
  39. on the same connection rather than being executed in parallel. (Added in
  40. 7.16.0)
  41. .IP CURLMOPT_TIMERFUNCTION
  42. Pass a pointer to a function matching the fBcurl_multi_timer_callbackfP
  43. prototype.  This function will then be called when the timeout value
  44. changes. The timeout value is at what latest time the application should call
  45. one of the &"performing" functions of the multi interface
  46. (fIcurl_multi_socket(3)fP, fIcurl_multi_socket_all(3)fP and
  47. fIcurl_multi_perform(3)fP) - to allow libcurl to keep timeouts and retries
  48. etc to work. A timeout value of -1 means that there is no timeout at all, and
  49. 0 means that the timeout is already reached. Libcurl attempts to limit calling
  50. this only when the fixed future timeout time actually changes. See also
  51. fICURLMOPT_TIMERDATAfP. This callback can be used instead of, or in addition
  52. to, fIcurl_multi_timeout(3)fP. (Added in 7.16.0)
  53. .IP CURLMOPT_TIMERDATA
  54. Pass a pointer to whatever you want passed to the
  55. fBcurl_multi_timer_callbackfP's third argument, the userp pointer.  This is
  56. not used by libcurl but only passed-thru as-is. Set the callback pointer with
  57. fICURLMOPT_TIMERFUNCTIONfP. (Added in 7.16.0)
  58. .IP CURLMOPT_MAXCONNECTS
  59. Pass a long. The set number will be used as the maximum amount of
  60. simultaneously open connections that libcurl may cache. Default is 10, and
  61. libcurl will enlarge the size for each added easy handle to make it fit 4
  62. times the number of added easy handles.
  63. By setting this option, you can prevent the cache size from growing beyond the
  64. limit set by you.
  65. When the cache is full, curl closes the oldest one in the cache to prevent the
  66. number of open connections from increasing.
  67. This option is for the multi handle's use only, when using the easy interface
  68. you should instead use the fICURLOPT_MAXCONNECTSfP option.
  69. (Added in 7.16.3)
  70. .SH RETURNS
  71. The standard CURLMcode for multi interface error codes. Note that it returns a
  72. CURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl
  73. doesn't know of.
  74. .SH AVAILABILITY
  75. This function was added in libcurl 7.15.4.
  76. .SH "SEE ALSO"
  77. .BR curl_multi_cleanup "(3), " curl_multi_init "(3), "
  78. .BR curl_multi_socket "(3), " curl_multi_info_read "(3)"