curlcpp icon indicating copy to clipboard operation
curlcpp copied to clipboard

curl_multi::get_info does not provide information which easy handle the message belongs to

Open ilyapopov opened this issue 9 years ago • 2 comments

Arguably, the most important piece of information returned by curl_multi_info_read is which exactly easy handle if done. This information, unfortunately, is not included in curl_massage, which makes it almost impossible to determine which transfer has finished.

Unfortunately, together with #76 this makes curl_multi interface almost unusable.

ilyapopov avatar Jul 31 '16 12:07 ilyapopov

+1 for this issue, curl_multi actually should not implement is_finished and get_info in that way

  • curl_message used in event loop to detect finished easy handles when multiple requests processed simultaniously
  • both methods are designed to handle only one easy handle, messages for other handles will be lost

I propose to add CURL* field to curl_message, deprecate get_info and is_finished and write new method read_info() which just reads one message.

sergey-shambir avatar May 05 '17 09:05 sergey-shambir

hi @sergey-shambir If you want, you cant provide a pull request or a patch. That would be awesome. I'm too busy in this period :(

JosephP91 avatar May 05 '17 09:05 JosephP91

@sergey-shambir The referencing commit should solve the issue. Now get_next_finished returns a complete message including also the related curl_easy handle. The wrong methods have been removed (I mean get_info and is_finished)

JosephP91 avatar Oct 09 '22 17:10 JosephP91