Annotation of embedaddon/curl/docs/PARALLEL-TRANSFERS.md, revision 1.1.1.1

1.1       misho       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 percent 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: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>