curl-library
libcurl callback order
Date: Wed, 25 May 2011 11:04:06 -0700 (PDT)
I'm new to this and I'm looking at the samples, docs and list archives... I
cannot find definitive information on whether 'curl_easy_perform' always returns
after all the calls to 'recv_hdr' and 'recv_data' have returned or if the call
backs are multi-threaded.
Is it the same for the share and multi interfaces as the easy?
// the header call back function
size_t recv_hdr( void *ptr, size_t size, size_t nmemb, void *userdata) { //
receive header line }
// the body call back function
static size_t recv_data(void *ptr, size_t size, size_t nmemb, void *data) {
// receive body data }
// the main CURL call
void callUrl() {
CURL *curl;
CURLcode resp;
CurlContinuationData *pCurlData = new CurlContinuationData(); // a struct
for data
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL,
"http://curl.haxx.se/libcurl/c/curl_easy_setopt.html");
// set body call back function
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, recv_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, pCurlData);
// set header call back function curl_easy_setopt(curl,
CURLOPT_HEADERFUNCTION, recv_hdr);
curl_easy_setopt(curl, CURLOPT_HEADERDATA, pCurlData);
resp = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
}
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2011-05-25