File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / docs / PARALLEL-TRANSFERS.md
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 10:01:15 2020 UTC (4 years ago) by misho
Branches: curl, MAIN
CVS tags: v7_70_0p4, HEAD
curl

    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>