[Adium-devl] Ticket #4501

Colin Barrett timber at lava.net
Fri Dec 7 14:02:53 UTC 2007


On Nov 29, 2007, at 8:32 AM, Augie Fackler wrote:

> http://trac.adiumx.com/ticket/4501
>
> I'm back from the dead for a moment, and wanted to start a discussion
> on this so that by the time I get time to work on it we actually know
> what I should do. My inclination right now is to create a bundle
> format that would let us resume file transfers in the same way as
> Safari, saving whatever account-specific information is needed for a
> resume.
>
> As of now, do any of our account types support resuming a file
> transfer? My guess is no, and therefore we should just implement
> the .adiumFileTransfer bundle for partial downloads which will then be
> more obviously incomplete files (AIM'ing movie files around campus, I
> ended up with some broken ones and was sorely confused for a little
> while).
>
> Does that seem reasonable? Have I missed something? Am I hopelessly
> overengineering?


A little, I think. Resuming a file transfer is a bit different from  
resuming a download from the server. In the latter case, the  
connection is pull. In the former, the connection is push. I think  
that's an important difference and should inform our design.

The main advantage, imo, of a bundle, is that it is a distinct file  
type and thus double clickable to start resuming the download. Since  
file transfers are push, that does not really work out right.  
Engineering for a system where you can ask the remote party to start  
sending you a file again is a little silly because a) our UI doesn't  
support that and b) I doubt any protocol supports it either.

How about instead a bundle, we just use an extended attribute? Set it  
when the file is still downloading and clear it when the file is done.  
I'm assuming the goal here is to have a way to clean up unfinished  
files across sessions/crashes, since just moving the failed transfer  
to the Trash seems way obvious and you wouldn't have mailed the list  
about it :)

-Colin




More information about the devel mailing list