[Cyberduck-trac] [Cyberduck] #927: Set queue / transfer item as "exclusive connection"

Cyberduck trac at trac.cyberduck.ch
Tue Dec 19 01:40:11 CET 2006


#927: Set queue / transfer item as "exclusive connection"
-------------------------+--------------------------------------------------
 Reporter:  jamescat     |        Owner:  dkocher 
     Type:  enhancement  |       Status:  reopened
 Priority:  normal       |    Milestone:  2.9     
Component:  core         |      Version:  2.6.2   
 Severity:  normal       |   Resolution:          
 Keywords:               |  
-------------------------+--------------------------------------------------
Changes (by jamescat):

  * resolution:  duplicate =>
  * status:  closed => reopened

Comment:

 I have to disagree with your resolution. This is not actually a duplicate
 of #986 (especially since this came first, but that's an irrelevant
 point), but is in fact merely a related concept.

 In #986 (which I would agree is a good idea) there is a universal
 preference setting for the maximum number of concurrent downloads across
 all servers, as an additional restriction above and beyond the maximum
 connections per server setting which already exists.

 However, this request is really for a "one off" setting for individual
 transfers in the queue. I think I should give an example of the desired
 behavior to clear it up.

 Say you have set a maximum of 3 transfers per server, and (assuming #986
 is implemented) a max of 5 overall, and you want to download the following
 list of files from servers A, B, C, and D:

  * A/1.tbz
  * A/3.txt
  * B/19.pdf
  * B/24.eps
  * B/27.readme
  * B/28.rtf
  * C/46.dmg
  * C/73.dmg
  * C/78.dmg
  * C/94.dmg
  * D/141.txt
  * D/197.pdf
  * D/202.txt
  * D/418.eps

 However, files on server C (the DMG files) are each 700 MB and you are on
 a wireless network which commonly disconnects you due to interference from
 competing signals. - And to further complicate matters, server C is a
 badly behaved server which doesn't allow resuming transfers! ''ICK''!!

 Naturally, you wouldn't want to run the DMG file transfers concurrently,
 because they should complete as quickly as possible in the hopes that you
 won't be disconnected in the middle and loose all that progress. (If all 3
 of your max-per-server value were running, you loose all the data from all
 3, right? If only one is running you might finish it and get cut off in
 the middle of the 2nd one, only wasting '''part''' of the time spent on
 the queue.)

 Yet, most of the time, and for the rest of the files in the queue you
 don't want to limit yourself to just 1 download at a time because they may
 be on servers which won't fill your bandwidth unless there are multiple
 transfers going, plus they're nice servers which allow resuming anyway so
 that the possibility of a disconnect is not so troublesome. So setting
 your global max transfers setting to one is not really what you want to
 do.

 Herein, comes the need for a "per transfer" setting to provide
 exclusivity. With such a setting, you could mark each of the DMG files as
 exclusive and the download queue would proceed as such:

 A/1.tbz, A/3.txt, B/19.pdf, B/24.eps, and B/27.readme (1st 5 files) would
 start immediately.

 When A/1.tbz finishes (assuming it's the first to do so) only the next 4
 (still part of the 5) will continue to run, because the next file is from
 server B and you have a max-per-server of 3, which is still full.

 When at least one of the running B files finishes, B/28.rtf will start to
 fill the empty "per server" slot, but C/46.dmg still won't start (even
 though it's from a different server and would normally try to fill the
 5-overall slot that is still empty) because you've marked it as
 "exclusive" and it will wait until it has things all to itself.

 When the first 6 have all completed, then C/46.dmg will start its
 exclusive download. C/73.dmg will start when it is done, then C/78.dmg,
 then C/94.dmg, each after the other.

 Eventually, when C/94.dmg finishes, and the exclusivity settings no longer
 apply, then the queue will pick up with D/141.txt, D/197.pdf, and
 D/202.txt which will fill the 3-per-server max.

 When one of them finishes, the final file D/418.eps will start. And the
 queue will finish up with the last 3 files of your transfer queue
 normally.

 Anyway...

 I hope that all makes sense. I'm sure it's too wordy, but I wanted to be
 sure to get the precise point across this time. ;-)

 Obviously, its entirely within your prerogative to re-close this ticket as
 a "will not fix", but since it is not actually part of the same request
 you thought it was, I have re-opened it for your continued consideration.

 Thank you!

-- 
Ticket URL: <http://trac.cyberduck.ch/ticket/927>
Cyberduck <http://cyberduck.ch>
FTP and SFTP Browser for Mac OS X.


More information about the Cyberduck-trac mailing list