- I've implemented multi example with libevent (multi-event)
- Additionally I add
curl_easy_setopt(curl_easy, CURLOPT_TIMEOUT_MS, 10000)
; on_timeout
do callback when after 10000ms, but I need the exactllycurl_easy
obj whichcurl_easy_setopt
calls;- Tried
check_multi_info
curl_multi_info_read
, got nothing;
How can I known which curl_easy
timeout? Thanks!
My main event looper:
void HttpLooper::Run() {
CURLcode ret = curl_global_init(CURL_GLOBAL_ALL);
if (ret) {
LOG(ERROR) << "curl_global_init error: " << ret;
return;
}
event_timeout_ = evtimer_new(event_base_, on_timeout, this);
g_curl = curl_multi_init();
curl_multi_setopt(g_curl, CURLMOPT_SOCKETFUNCTION, handle_socket);
curl_multi_setopt(g_curl, CURLMOPT_SOCKETDATA, this);
curl_multi_setopt(g_curl, CURLMOPT_TIMERFUNCTION, start_timeout);
curl_multi_setopt(g_curl, CURLMOPT_TIMERDATA, this);
for (;;) {
StartDoTasks();
event_base_dispatch(event_base_);
if (!keep_running_)
break;
}
curl_multi_cleanup(g_curl);
event_free(event_timeout_);
curl_global_cleanup();
}