Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/curl/docs/PARALLEL-TRANSFERS.md @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 # Parallel transfers | |
| 2 | |
| 3 curl 7.66.0 introduces support for doing multiple transfers simultaneously; in | |
| 4 parallel. | |
| 5 | |
| 6 ## -Z, --parallel | |
| 7 | |
| 8 When this command line option is used, curl will perform the transfers given | |
| 9 to it at the same time. It will do up to `--parallel-max` concurrent | |
| 10 transfers, with a default value of 50. | |
| 11 | |
| 12 ## Progress meter | |
| 13 | |
| 14 The progress meter that is displayed when doing parallel transfers is | |
| 15 completely different than the regular one used for each single transfer. | |
| 16 | |
| 17 It shows: | |
| 18 | |
| 19 o percent download (if known, which means *all* transfers need to have a | |
| 20 known size) | |
| 21 o precent upload (if known, with the same caveat as for download) | |
| 22 o total amount of downloaded data | |
| 23 o total amount of uploaded data | |
| 24 o number of transfers to perform | |
| 25 o number of concurrent transfers being transferred right now | |
| 26 o number of transfers queued up waiting to start | |
| 27 o total time all transfers are expected to take (if sizes are known) | |
| 28 o current time the transfers have spent so far | |
| 29 o estimated time left (if sizes are known) | |
| 30 o current transfer speed (the faster of UL/DL speeds measured over the last | |
| 31 few seconds) | |
| 32 | |
| 33 Example: | |
| 34 | |
| 35 DL% UL% Dled Uled Xfers Live Qd Total Current Left Speed | |
| 36 72 -- 37.9G 0 101 30 23 0:00:55 0:00:34 0:00:22 2752M | |
| 37 | |
| 38 ## Behavior differences | |
| 39 | |
| 40 Connections are shared fine between different easy handles, but the | |
| 41 "authentication contexts" are not. So for example doing HTTP Digest auth with | |
| 42 one handle for a particular transfer and then continue on with another handle | |
| 43 that reuses the same connection, the second handle can't send the necessary | |
| 44 Authorization header at once since the context is only kept in the original | |
| 45 easy handle. | |
| 46 | |
| 47 To fix this, the authorization state could be made possible to share with the | |
| 48 share API as well, as a context per origin + path (realm?) basically. | |
| 49 | |
| 50 Visible in test 153, 1412 and more. | |
| 51 | |
| 52 ## Feedback! | |
| 53 | |
| 54 This is early days for parallel transfer support. Keep your eyes open for | |
| 55 unintended side effects or downright bugs. | |
| 56 | |
| 57 Tell us what you think and how you think we could improve this feature! | |
| 58 |
