1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

TODO: Use multiple parallel transfers for a single download

Closes #5774
This commit is contained in:
Daniel Stenberg 2020-08-04 16:14:41 +02:00
parent 28f22a9524
commit 532dfa3bc0
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -160,6 +160,7 @@
18.21 retry on the redirected-to URL
18.22 Add flag to specify download directory
18.23 Set the modification date on an uploaded file
18.24 Use multiple parallel transfers for a single download
19. Build
19.1 roffit
@ -1124,6 +1125,27 @@ that doesn't exist on the server, just like --ftp-create-dirs.
See https://github.com/curl/curl/issues/5768
18.24 Use multiple parallel transfers for a single download
To enhance transfer speed, downloading a single URL can be split up into
multiple separate range downloads that get combined into a single final
result.
An ideal implementation would not use a specified number of parallel
transfers, but curl could:
- First start getting the full file as transfer A
- If after N seconds have passed and the transfer is expected to continue for
M seconds or more, add a new transfer (B) that asks for the second half of
A's content (and stop A at the middle).
- If splitting up the work improves the transfer rate, it could then be done
again. Then again, etc up to a limit.
This way, if transfer B fails (because Range: isn't supported) it will let
transfer A remain the single one. N and M could be set to some sensible
defaults.
See https://github.com/curl/curl/issues/5774
19. Build
19.1 roffit