• Anatol Pomozov's avatar
    Implement multiplexed download using mCURL · 6a331af2
    Anatol Pomozov authored and Allan McRae's avatar Allan McRae committed
    curl_multi_download_internal() is the main loop that creates up to
    'ParallelDownloads' easy curl handles, adds them to mcurl and then
    performs curl execution. This is when the paralled downloads happens.
    Once any of the downloads complete the function checks its result.
    In case if the download fails it initiates retry with the next server
    from payload->servers list. At the download completion all the payload
    resources are cleaned up.
    curl_multi_check_finished_download() is essentially refactored version of
    curl_download_internal() adopted for multi_curl. Once mcurl porting is
    complete curl_download_internal() will be removed.
    Signed-off-by: Anatol Pomozov's avatarAnatol Pomozov <anatol.pomozov@gmail.com>
    Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>